{"items":[{"type":"link","label":"Внутреннее API Felmee","link":"/openapi","routeSlug":"/openapi","content":{"contentType":"overview","meta":{"name":"Внутреннее API Felmee"},"children":[{"nodeType":"container","panels":[{"title":"Download OpenAPI description","titleTranslationKey":"download.description.title","children":[{"kind":"download","label":"OPENAPI.json","url":"/_bundle/OPENAPI.json?download"},{"kind":"download","label":"OPENAPI.yaml","url":"/_bundle/OPENAPI.yaml?download"}]},{"title":"Overview","titleTranslationKey":"info.title","children":[]},{"title":"Languages","titleTranslationKey":"languages.title","children":[{"kind":"languages","options":[{"key":"curl","title":"curl","lang":"curl"},{"key":"javascript","title":"JavaScript","lang":"JavaScript"},{"key":"node","title":"Node.js","lang":"Node.js"},{"key":"python","title":"Python","lang":"Python"},{"key":"java","title":"Java","lang":"Java"},{"key":"csharp","title":"C#","lang":"C#"},{"key":"php","title":"PHP","lang":"PHP"},{"key":"go","title":"Go","lang":"Go"},{"key":"ruby","title":"Ruby","lang":"Ruby"},{"key":"r","title":"R","lang":"R"},{"key":"payload","title":"Payload","lang":"Payload"}]}]},{"title":"Servers","titleTranslationKey":"servers.title","children":[{"kind":"servers","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"mode":"default"}]}],"children":[{"nodeType":"overview-section-wrapper","children":[{"nodeType":"header","level":1,"label":"Внутреннее API Felmee (0.0.10)","showPageActions":true},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[]}],"sectionId":"/openapi"}],"sectionId":"/openapi"},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":2,"id":"section/obshij-format-otveta"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Общий формат ответа"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Все REST-эндпоинты возвращают ответ в едином формате:"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"{\n  \"success\": true,\n  \"message\": \"...\",\n\n  \"codeError\": null,\n  \"error_code\": null,\n  \"data\": {}  }\n","language":"json"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"{\n  \"success\": true,\n  \"message\": \"...\",\n\n  \"codeError\": null,\n  \"error_code\": null,\n  \"data\": {}  }\n"},"children":[]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Где:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"success"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - флаг успешного выполнения запроса"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"message"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - человекочитаемое описание результата"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"codeError"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - legacy-alias поля "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"error_code"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; при ошибке содержит тот же код, при успехе "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"error_code"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - машинный код ошибки; для успешных ответов всегда "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"data"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - полезная нагрузка; может быть объектом, массивом или "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]}]}]}]}]}],"sectionId":"/openapi/section/obshij-format-otveta"},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":2,"id":"section/vozmozhnye-znacheniya"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возможные значения "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"error_code"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"invalid_body"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - тело запроса не прошло валидацию или нарушает бизнес-правила"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"unauthorized"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - отсутствует или невалиден JWT / refresh token"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"not_found"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - ресурс не найден"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"conflict"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - запрос корректен по форме, но конфликтует с текущим состоянием ресурса"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"object_modified_by_another_thread"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - объект был изменён другой параллельной операцией; клиент должен перечитать актуальное состояние и повторить запрос"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"action_too_late"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - действие запрещено по бизнес-правилу минимального времени до начала события"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"too_many_request"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - превышен лимит запросов"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"code_is_gone"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - одноразовый код истёк или больше не действителен"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"forbidden"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - у пользователя нет доступа к ресурсу"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"salon_permission_denied"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - у участника салона нет permission для запрошенного endpoint"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"geocoding_failed"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - адрес услуги или мастера передан, но backend не смог получить для него координаты"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"address_suggestions_failed"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - backend не смог получить подсказки адресов от внешнего сервиса"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"invalid_captcha"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - captcha отсутствует, невалидна или не прошла проверку"},"children":[]}]}]}]}]}],"sectionId":"/openapi/section/vozmozhnye-znacheniya"}]}]}},{"type":"link","label":"Общий формат ответа","link":"/openapi/section/obshij-format-otveta","routeSlug":"/openapi/section/obshij-format-otveta","content":null},{"type":"link","label":"Возможные значения ","link":"/openapi/section/vozmozhnye-znacheniya","routeSlug":"/openapi/section/vozmozhnye-znacheniya","content":null},{"type":"group","label":"Приглашения клиентов бизнесом","link":"/openapi/priglasheniya-klientov-biznesom","routeSlug":"/openapi/priglasheniya-klientov-biznesom","items":[{"label":"Получить существующий QR и ссылку профиля бизнеса","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/priglasheniya-klientov-biznesom/getbusinessinvitationshare","routeSlug":"/openapi/priglasheniya-klientov-biznesom/getbusinessinvitationshare","metadata":{"seo":{"title":"Получить существующий QR и ссылку профиля бизнеса","description":"Доступ по праву CLIENT_INVITATIONS_SHARE. Не создаёт QR или записи ссылок."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getBusinessInvitationShare","name":"Получить существующий QR и ссылку профиля бизнеса","isWebhook":false,"pointer":"/paths/~1api~1business-client-invitations~1share/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить существующий QR и ссылку профиля бизнеса","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ по праву CLIENT_INVITATIONS_SHARE. Не создаёт QR или записи ссылок."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/business-client-invitations/share","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","401","403","404"],"pointer":"/api/business-client-invitations/share","href":"priglasheniya-klientov-biznesom/getbusinessinvitationshare","openApiOperationId":"getBusinessInvitationShare","summary":"Получить существующий QR и ссылку профиля бизнеса","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"QR и ссылка текущего бизнеса"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_91"}},"schemaId":"schema_91"},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Сессия отсутствует или недействительна; error_code=unauthorized."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BciErrorApiResponse"}},"schemaId":"components/schemas/BciErrorApiResponse"},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Неверная область аккаунта или отсутствует право салона; error_code=forbidden или salon_permission_denied."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BciErrorApiResponse"}},"schemaId":"components/schemas/BciErrorApiResponse"},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Неизвестная или недоступная ссылка либо ресурс вне области доступа пользователя; error_code=not_found."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BciErrorApiResponse"}},"schemaId":"components/schemas/BciErrorApiResponse"}],"pointer":"/paths/~1api~1business-client-invitations~1share/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_91","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_91"}}},{"code":"401","schemaId":"components/schemas/BciErrorApiResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BciErrorApiResponse"}}},{"code":"403","schemaId":"components/schemas/BciErrorApiResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BciErrorApiResponse"}}},{"code":"404","schemaId":"components/schemas/BciErrorApiResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BciErrorApiResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/priglasheniya-klientov-biznesom/getbusinessinvitationshare"}],"panels":[]}]},"httpPath":"/api/business-client-invitations/share"},{"label":"Получить правила, квоту, статистику и права текущего бизнеса","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/priglasheniya-klientov-biznesom/getbusinessclientinvitationprogram","routeSlug":"/openapi/priglasheniya-klientov-biznesom/getbusinessclientinvitationprogram","metadata":{"seo":{"title":"Получить правила, квоту, статистику и права текущего бизнеса","description":"Определяет независимого мастера или салон по текущей сессии. Владельцу салонадоступ разрешён; администратору требуется право CLIENT_INVITATIONS_VIEW. Обычныемастера салона не получают общий список клиентов салона через роль сотрудника."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getBusinessClientInvitationProgram","name":"Получить правила, квоту, статистику и права текущего бизнеса","isWebhook":false,"pointer":"/paths/~1api~1business-client-invitations~1program/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить правила, квоту, статистику и права текущего бизнеса","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Определяет независимого мастера или салон по текущей сессии. Владельцу салона"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"доступ разрешён; администратору требуется право CLIENT_INVITATIONS_VIEW. Обычные"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"мастера салона не получают общий список клиентов салона через роль сотрудника."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/business-client-invitations/program","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","401","403"],"pointer":"/api/business-client-invitations/program","href":"priglasheniya-klientov-biznesom/getbusinessclientinvitationprogram","openApiOperationId":"getBusinessClientInvitationProgram","summary":"Получить правила, квоту, статистику и права текущего бизнеса","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Текущая программа бизнеса"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BciProgramApiResponse"}},"schemaId":"components/schemas/BciProgramApiResponse"},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Сессия отсутствует или недействительна; error_code=unauthorized."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BciErrorApiResponse"}},"schemaId":"components/schemas/BciErrorApiResponse"},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Неверная область аккаунта или отсутствует право салона; error_code=forbidden или salon_permission_denied."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BciErrorApiResponse"}},"schemaId":"components/schemas/BciErrorApiResponse"}],"pointer":"/paths/~1api~1business-client-invitations~1program/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/BciProgramApiResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BciProgramApiResponse"}}},{"code":"401","schemaId":"components/schemas/BciErrorApiResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BciErrorApiResponse"}}},{"code":"403","schemaId":"components/schemas/BciErrorApiResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BciErrorApiResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/priglasheniya-klientov-biznesom/getbusinessclientinvitationprogram"}],"panels":[]}]},"httpPath":"/api/business-client-invitations/program"},{"label":"Получить уникальных авторизованных получателей, включая отклонённые попытки","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/priglasheniya-klientov-biznesom/getbusinessinvitationclients","routeSlug":"/openapi/priglasheniya-klientov-biznesom/getbusinessinvitationclients","metadata":{"seo":{"title":"Получить уникальных авторизованных получателей, включая отклонённые попытки","description":"Требуется право CLIENT_INVITATIONS_VIEW. Для каждого целевого бизнеса и устойчивойидентичности клиента возвращается один элемент, даже после повторных переходов,входов или пересоздания аккаунта. Отклонённая попытка клиента, привязанного к другомубизнесу, включается со значениями FAILED и ALREADY_BOUND_TO_OTHER_BUSINESS, но другойбизнес не раскрывается. status и binding_status — независимые фильтры, объединяемыечерез AND. По умолчанию записи сортируются по first_seen_at, затем invitation_id поубыванию. Поиск выполняется только по имени и телефону, доступным бизнесу согласноправилам доступа. У клиента без записи record=null; услуга и цена не подставляются."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getBusinessInvitationClients","name":"Получить уникальных авторизованных получателей, включая отклонённые попытки","isWebhook":false,"pointer":"/paths/~1api~1business-client-invitations~1clients/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить уникальных авторизованных получателей, включая отклонённые попытки","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требуется право CLIENT_INVITATIONS_VIEW. Для каждого целевого бизнеса и устойчивой"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"идентичности клиента возвращается один элемент, даже после повторных переходов,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"входов или пересоздания аккаунта. Отклонённая попытка клиента, привязанного к другому"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"бизнесу, включается со значениями FAILED и ALREADY_BOUND_TO_OTHER_BUSINESS, но другой"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"бизнес не раскрывается. status и binding_status — независимые фильтры, объединяемые"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"через AND. По умолчанию записи сортируются по first_seen_at, затем invitation_id по"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"убыванию. Поиск выполняется только по имени и телефону, доступным бизнесу согласно"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"правилам доступа. У клиента без записи record=null; услуга и цена не подставляются."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"offset","in":"query","schemaId":"schema_92"},{"name":"limit","in":"query","schemaId":"schema_93"},{"name":"status","in":"query","schemaId":"schema_94"},{"name":"binding_status","in":"query","schemaId":"schema_95"},{"name":"search","in":"query","schemaId":"schema_96"}],"pointer":"/paths/~1api~1business-client-invitations~1clients/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/business-client-invitations/clients","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[{"name":"offset","in":"query","schemaId":"schema_92"},{"name":"limit","in":"query","schemaId":"schema_93"},{"name":"status","in":"query","schemaId":"components/schemas/BciQualificationStatus"},{"name":"binding_status","in":"query","schemaId":"components/schemas/BciBindingStatus"},{"name":"search","in":"query","schemaId":"schema_96"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403"],"pointer":"/api/business-client-invitations/clients","href":"priglasheniya-klientov-biznesom/getbusinessinvitationclients","openApiOperationId":"getBusinessInvitationClients","summary":"Получить уникальных авторизованных получателей, включая отклонённые попытки","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Страница отфильтрованных уникальных получателей"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BciClientsApiResponse"}},"schemaId":"components/schemas/BciClientsApiResponse"},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректные поля или несовместимые контексты; error_code=invalid_body."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BciErrorApiResponse"}},"schemaId":"components/schemas/BciErrorApiResponse"},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Сессия отсутствует или недействительна; error_code=unauthorized."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BciErrorApiResponse"}},"schemaId":"components/schemas/BciErrorApiResponse"},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Неверная область аккаунта или отсутствует право салона; error_code=forbidden или salon_permission_denied."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BciErrorApiResponse"}},"schemaId":"components/schemas/BciErrorApiResponse"}],"pointer":"/paths/~1api~1business-client-invitations~1clients/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/BciClientsApiResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BciClientsApiResponse"}}},{"code":"400","schemaId":"components/schemas/BciErrorApiResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BciErrorApiResponse"}}},{"code":"401","schemaId":"components/schemas/BciErrorApiResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BciErrorApiResponse"}}},{"code":"403","schemaId":"components/schemas/BciErrorApiResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BciErrorApiResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/priglasheniya-klientov-biznesom/getbusinessinvitationclients"}],"panels":[]}]},"httpPath":"/api/business-client-invitations/clients"},{"label":"Получить статус, причины, запись текущего бизнеса и историю получателя","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/priglasheniya-klientov-biznesom/getbusinessinvitationclient","routeSlug":"/openapi/priglasheniya-klientov-biznesom/getbusinessinvitationclient","metadata":{"seo":{"title":"Получить статус, причины, запись текущего бизнеса и историю получателя","description":"Получить статус, причины, запись текущего бизнеса и историю получателя"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getBusinessInvitationClient","name":"Получить статус, причины, запись текущего бизнеса и историю получателя","isWebhook":false,"pointer":"/paths/~1api~1business-client-invitations~1clients~1{invitation_id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить статус, причины, запись текущего бизнеса и историю получателя","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"invitation_id","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Уникальный ID представления получателя; ID другого бизнеса возвращает 404."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1business-client-invitations~1clients~1{invitation_id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/business-client-invitations/clients/{invitation_id}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"invitation_id","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403","404"],"pointer":"/api/business-client-invitations/clients/{invitation_id}","href":"priglasheniya-klientov-biznesom/getbusinessinvitationclient","openApiOperationId":"getBusinessInvitationClient","summary":"Получить статус, причины, запись текущего бизнеса и историю получателя","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Подробные данные в рамках текущего бизнеса"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BciClientDetailsApiResponse"}},"schemaId":"components/schemas/BciClientDetailsApiResponse"},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректные поля или несовместимые контексты; error_code=invalid_body."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BciErrorApiResponse"}},"schemaId":"components/schemas/BciErrorApiResponse"},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Сессия отсутствует или недействительна; error_code=unauthorized."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BciErrorApiResponse"}},"schemaId":"components/schemas/BciErrorApiResponse"},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Неверная область аккаунта или отсутствует право салона; error_code=forbidden или salon_permission_denied."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BciErrorApiResponse"}},"schemaId":"components/schemas/BciErrorApiResponse"},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Неизвестная или недоступная ссылка либо ресурс вне области доступа пользователя; error_code=not_found."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BciErrorApiResponse"}},"schemaId":"components/schemas/BciErrorApiResponse"}],"pointer":"/paths/~1api~1business-client-invitations~1clients~1{invitation_id}/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/BciClientDetailsApiResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BciClientDetailsApiResponse"}}},{"code":"400","schemaId":"components/schemas/BciErrorApiResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BciErrorApiResponse"}}},{"code":"401","schemaId":"components/schemas/BciErrorApiResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BciErrorApiResponse"}}},{"code":"403","schemaId":"components/schemas/BciErrorApiResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BciErrorApiResponse"}}},{"code":"404","schemaId":"components/schemas/BciErrorApiResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BciErrorApiResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/priglasheniya-klientov-biznesom/getbusinessinvitationclient"}],"panels":[]}]},"httpPath":"/api/business-client-invitations/clients/{invitation_id}"}],"content":{"contentType":"group","meta":{"name":"Приглашения клиентов бизнесом"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Приглашения клиентов бизнесом","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Приглашение клиентов бизнесом, квалификация визита и комиссия."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/api/business-client-invitations/share","summary":"Получить существующий QR и ссылку профиля бизнеса","prefix":{"name":"get","color":"get"},"badges":[],"link":"/priglasheniya-klientov-biznesom/getbusinessinvitationshare","deprecated":false},{"title":"/api/business-client-invitations/program","summary":"Получить правила, квоту, статистику и права текущего бизнеса","prefix":{"name":"get","color":"get"},"badges":[],"link":"/priglasheniya-klientov-biznesom/getbusinessclientinvitationprogram","deprecated":false},{"title":"/api/business-client-invitations/clients","summary":"Получить уникальных авторизованных получателей, включая отклонённые попытки","prefix":{"name":"get","color":"get"},"badges":[],"link":"/priglasheniya-klientov-biznesom/getbusinessinvitationclients","deprecated":false},{"title":"/api/business-client-invitations/clients/{invitation_id}","summary":"Получить статус, причины, запись текущего бизнеса и историю получателя","prefix":{"name":"get","color":"get"},"badges":[],"link":"/priglasheniya-klientov-biznesom/getbusinessinvitationclient","deprecated":false}]}]}]}]}},{"type":"group","label":"Привязка клиента к бизнесу","link":"/openapi/privyazka-klienta-k-biznesu","routeSlug":"/openapi/privyazka-klienta-k-biznesu","items":[{"label":"Получить карточку бизнеса, свою привязку и постоянные ограничения участия","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/privyazka-klienta-k-biznesu/getmybusinessbinding","routeSlug":"/openapi/privyazka-klienta-k-biznesu/getmybusinessbinding","metadata":{"seo":{"title":"Получить карточку бизнеса, свою привязку и постоянные ограничения участия","description":"Только для CLIENT. До квалифицирующего визита возвращает NONE и binding=null; этоне означает возможность участия, поскольку существующий клиент платформы может несоответствовать условиям или уже иметь ожидающую атрибуцию. Для ожидающей атрибуцииcan_detach=false. Статус DETACHED сохраняет историю привязки и всегда возвращаетcan_bind=false и can_detach=false. У квалифицированного отвязанного клиента остаётсяstatus=QUALIFIED, но льгота неактивна."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getMyBusinessBinding","name":"Получить карточку бизнеса, свою привязку и постоянные ограничения участия","isWebhook":false,"pointer":"/paths/~1api~1user~1business-binding/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить карточку бизнеса, свою привязку и постоянные ограничения участия","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Только для CLIENT. До квалифицирующего визита возвращает NONE и binding=null; это"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"не означает возможность участия, поскольку существующий клиент платформы может не"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"соответствовать условиям или уже иметь ожидающую атрибуцию. Для ожидающей атрибуции"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"can_detach=false. Статус DETACHED сохраняет историю привязки и всегда возвращает"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"can_bind=false и can_detach=false. У квалифицированного отвязанного клиента остаётся"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"status=QUALIFIED, но льгота неактивна."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/user/business-binding","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","401","403"],"pointer":"/api/user/business-binding","href":"privyazka-klienta-k-biznesu/getmybusinessbinding","openApiOperationId":"getMyBusinessBinding","summary":"Получить карточку бизнеса, свою привязку и постоянные ограничения участия","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Текущая или историческая привязка и принятое решение"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BciMyBindingApiResponse"}},"schemaId":"components/schemas/BciMyBindingApiResponse"},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Сессия отсутствует или недействительна; error_code=unauthorized."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BciErrorApiResponse"}},"schemaId":"components/schemas/BciErrorApiResponse"},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Неверная область аккаунта или отсутствует право салона; error_code=forbidden или salon_permission_denied."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BciErrorApiResponse"}},"schemaId":"components/schemas/BciErrorApiResponse"}],"pointer":"/paths/~1api~1user~1business-binding/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/BciMyBindingApiResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BciMyBindingApiResponse"}}},{"code":"401","schemaId":"components/schemas/BciErrorApiResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BciErrorApiResponse"}}},{"code":"403","schemaId":"components/schemas/BciErrorApiResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BciErrorApiResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/privyazka-klienta-k-biznesu/getmybusinessbinding"}],"panels":[]}]},"httpPath":"/api/user/business-binding"},{"label":"Окончательно отвязаться от пригласившего бизнеса","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/privyazka-klienta-k-biznesu/detachmybusinessbinding","routeSlug":"/openapi/privyazka-klienta-k-biznesu/detachmybusinessbinding","metadata":{"seo":{"title":"Окончательно отвязаться от пригласившего бизнеса","description":"Только для CLIENT; привязка должна принадлежать клиенту текущей сессии. В однойтранзакции блокируется постоянная идентичность клиента, проверяется expected_version,устанавливаются DETACHED и время отвязки, отменяется право на комиссионную льготу,записывается история и публикуется событие outbox. Идентичность и история квалификациине удаляются, использованное место пожизненной квоты не освобождается. Привязкавозникает только после квалификации, поэтому ожидающего кандидата отвязать нельзя.Услуги, оказанные до detached_at, сохраняют историческую комиссию, даже если событиезавершения поступило позже. Ко всем услугам после detached_at применяется обычнаякомиссия, включая предоплаченные; корректируется только реестр комиссии бизнеса,но не цена клиента. Повтор с теми же ключом идемпотентности и телом возвращает исходныйответ до проверки версии. Тот же ключ с другим телом возвращает 409. Повторная отвязкауже отвязанной привязки может вернуть существующий итог без нового события. Устаревшаяверсия активной привязки возвращает 409."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"detachMyBusinessBinding","name":"Окончательно отвязаться от пригласившего бизнеса","isWebhook":false,"pointer":"/paths/~1api~1user~1business-binding~1detach/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Окончательно отвязаться от пригласившего бизнеса","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Только для CLIENT; привязка должна принадлежать клиенту текущей сессии. В одной"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"транзакции блокируется постоянная идентичность клиента, проверяется expected_version,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"устанавливаются DETACHED и время отвязки, отменяется право на комиссионную льготу,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"записывается история и публикуется событие outbox. Идентичность и история квалификации"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"не удаляются, использованное место пожизненной квоты не освобождается. Привязка"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"возникает только после квалификации, поэтому ожидающего кандидата отвязать нельзя."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Услуги, оказанные до detached_at, сохраняют историческую комиссию, даже если событие"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"завершения поступило позже. Ко всем услугам после detached_at применяется обычная"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"комиссия, включая предоплаченные; корректируется только реестр комиссии бизнеса,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"но не цена клиента. Повтор с теми же ключом идемпотентности и телом возвращает исходный"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ответ до проверки версии. Тот же ключ с другим телом возвращает 409. Повторная отвязка"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"уже отвязанной привязки может вернуть существующий итог без нового события. Устаревшая"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"версия активной привязки возвращает 409."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Idempotency-Key","in":"header","schemaId":"schema_98","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"UUID-ключ запроса в рамках операции и авторизованного пользователя (либо контекста"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"публичного перехода). Повторное использование ключа с другим каноническим телом возвращает 409."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1user~1business-binding~1detach/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/BciDetachBindingBody"}},"schemaId":"components/schemas/BciDetachBindingBody","pointer":"/paths/~1api~1user~1business-binding~1detach/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/user/business-binding/detach","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"Idempotency-Key","in":"header","required":true,"schemaId":"schema_98"}],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/BciDetachBindingBody"}},"responseCodes":["200","400","401","403","404","409","415"],"pointer":"/api/user/business-binding/detach","href":"privyazka-klienta-k-biznesu/detachmybusinessbinding","openApiOperationId":"detachMyBusinessBinding","summary":"Окончательно отвязаться от пригласившего бизнеса","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/BciDetachBindingBody","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/BciDetachBindingBody"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Сохранённое состояние отвязки с постоянным запретом повторной привязки"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BciMyBindingApiResponse"}},"schemaId":"components/schemas/BciMyBindingApiResponse"},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректные поля или несовместимые контексты; error_code=invalid_body."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BciErrorApiResponse"}},"schemaId":"components/schemas/BciErrorApiResponse"},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Сессия отсутствует или недействительна; error_code=unauthorized."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BciErrorApiResponse"}},"schemaId":"components/schemas/BciErrorApiResponse"},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Неверная область аккаунта или отсутствует право салона; error_code=forbidden или salon_permission_denied."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BciErrorApiResponse"}},"schemaId":"components/schemas/BciErrorApiResponse"},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Неизвестная или недоступная ссылка либо ресурс вне области доступа пользователя; error_code=not_found."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BciErrorApiResponse"}},"schemaId":"components/schemas/BciErrorApiResponse"},{"code":"409","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Для устаревшей версии привязки или записи используется error_code=object_modified_by_another_thread; для конфликта тела по ключу идемпотентности и несовместимого окончательного решения — error_code=conflict."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BciErrorApiResponse"}},"schemaId":"components/schemas/BciErrorApiResponse"},{"code":"415","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Неподдерживаемый Content-Type; требуется application/json. error_code=invalid_body."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BciErrorApiResponse"}},"schemaId":"components/schemas/BciErrorApiResponse"}],"pointer":"/paths/~1api~1user~1business-binding~1detach/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/BciMyBindingApiResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BciMyBindingApiResponse"}}},{"code":"400","schemaId":"components/schemas/BciErrorApiResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BciErrorApiResponse"}}},{"code":"401","schemaId":"components/schemas/BciErrorApiResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BciErrorApiResponse"}}},{"code":"403","schemaId":"components/schemas/BciErrorApiResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BciErrorApiResponse"}}},{"code":"404","schemaId":"components/schemas/BciErrorApiResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BciErrorApiResponse"}}},{"code":"409","schemaId":"components/schemas/BciErrorApiResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BciErrorApiResponse"}}},{"code":"415","schemaId":"components/schemas/BciErrorApiResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BciErrorApiResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/privyazka-klienta-k-biznesu/detachmybusinessbinding"}],"panels":[]}]},"httpPath":"/api/user/business-binding/detach"}],"content":{"contentType":"group","meta":{"name":"Привязка клиента к бизнесу"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Привязка клиента к бизнесу","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Собственная привязка клиента и окончательная отвязка."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/api/user/business-binding","summary":"Получить карточку бизнеса, свою привязку и постоянные ограничения участия","prefix":{"name":"get","color":"get"},"badges":[],"link":"/privyazka-klienta-k-biznesu/getmybusinessbinding","deprecated":false},{"title":"/api/user/business-binding/detach","summary":"Окончательно отвязаться от пригласившего бизнеса","prefix":{"name":"post","color":"post"},"badges":[],"link":"/privyazka-klienta-k-biznesu/detachmybusinessbinding","deprecated":false}]}]}]}]}},{"type":"group","label":"Сравнения","link":"/openapi/sravneniya","routeSlug":"/openapi/sravneniya","items":[{"label":"Получить список услуг в сравнении","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/sravneniya/getmycomparisonservices","routeSlug":"/openapi/sravneniya/getmycomparisonservices","metadata":{"seo":{"title":"Получить список услуг в сравнении","description":"Краткие карточки сохранённых услуг текущего пользователя. Пустой список — data: []."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getMyComparisonServices","name":"Получить список услуг в сравнении","isWebhook":false,"pointer":"/paths/~1api~1comparison~1list/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить список услуг в сравнении","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Краткие карточки сохранённых услуг текущего пользователя. Пустой список — "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"data: []"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/comparison/list","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","401","403","500"],"pointer":"/api/comparison/list","href":"sravneniya/getmycomparisonservices","openApiOperationId":"getMyComparisonServices","summary":"Получить список услуг в сравнении","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Список получен."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ComparisonPreviewListResponse","exampleIds":["paths/~1api~1comparison~1list/get/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/ComparisonPreviewListResponse","exampleIds":["paths/~1api~1comparison~1list/get/responses/200/content/application~1json/example"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1comparison~1list/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1comparison~1list/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Нет права USER; для POST и DELETE также возвращается при блокировке аккаунта (user_blocked)."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1comparison~1list/get/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1comparison~1list/get/responses/403/content/application~1json/example"]},{"code":"500","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Непредвиденная внутренняя ошибка сервера"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1comparison~1list/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1comparison~1list/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1api~1comparison~1list/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/ComparisonPreviewListResponse","exampleIds":["paths/~1api~1comparison~1list/get/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ComparisonPreviewListResponse","exampleIds":["paths/~1api~1comparison~1list/get/responses/200/content/application~1json/example"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1comparison~1list/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1comparison~1list/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1comparison~1list/get/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1comparison~1list/get/responses/403/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1comparison~1list/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1comparison~1list/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/sravneniya/getmycomparisonservices"}],"panels":[]}]},"httpPath":"/api/comparison/list"},{"label":"Сравнить выбранные услуги","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/sravneniya/comparesavedservices","routeSlug":"/openapi/sravneniya/comparesavedservices","metadata":{"seo":{"title":"Сравнить выбранные услуги","description":"Возвращает данные 1–4 услуг, ранее добавленных текущим пользователем в сравнение."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"compareSavedServices","name":"Сравнить выбранные услуги","isWebhook":false,"pointer":"/paths/~1api~1comparison/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Сравнить выбранные услуги","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает данные 1–4 услуг, ранее добавленных текущим пользователем в сравнение."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/ComparisonSelectionRequest","exampleIds":["paths/~1api~1comparison/post/requestBody/content/application~1json/example"]}},"schemaId":"components/schemas/ComparisonSelectionRequest","exampleIds":["paths/~1api~1comparison/post/requestBody/content/application~1json/example"],"pointer":"/paths/~1api~1comparison/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/comparison","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/ComparisonSelectionRequest","exampleIds":["paths/~1api~1comparison/post/requestBody/content/application~1json/example"]}},"responseCodes":["200","400","401","403","404","415","500"],"pointer":"/api/comparison","href":"sravneniya/comparesavedservices","openApiOperationId":"compareSavedServices","summary":"Сравнить выбранные услуги","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/ComparisonSelectionRequest","exampleIds":["paths/~1api~1comparison/post/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/ComparisonSelectionRequest","exampleIds":["paths/~1api~1comparison/post/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Данные для сравнения получены."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ComparisonDetailsResponse","exampleIds":["paths/~1api~1comparison/post/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/ComparisonDetailsResponse","exampleIds":["paths/~1api~1comparison/post/responses/200/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Тело отсутствует или некорректно; нужны 1–4 уникальных положительных ID без null."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1comparison/post/responses/400/content/application~1json/examples/emptyList","paths/~1api~1comparison/post/responses/400/content/application~1json/examples/duplicateIds","paths/~1api~1comparison/post/responses/400/content/application~1json/examples/invalidJson"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1comparison/post/responses/400/content/application~1json/examples/emptyList","paths/~1api~1comparison/post/responses/400/content/application~1json/examples/duplicateIds","paths/~1api~1comparison/post/responses/400/content/application~1json/examples/invalidJson"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1comparison/post/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1comparison/post/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Нет права USER; для POST и DELETE также возвращается при блокировке аккаунта (user_blocked)."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1comparison/post/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1comparison/post/responses/403/content/application~1json/example"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Хотя бы одна выбранная услуга не добавлена в сравнение текущего пользователя."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"},{"code":"415","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Тело POST-запроса передано без "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Content-Type: application/json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" или с неподдерживаемым media type"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1comparison/post/responses/415/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1comparison/post/responses/415/content/application~1json/example"]},{"code":"500","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Непредвиденная внутренняя ошибка сервера"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1comparison/post/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1comparison/post/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1api~1comparison/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/ComparisonDetailsResponse","exampleIds":["paths/~1api~1comparison/post/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ComparisonDetailsResponse","exampleIds":["paths/~1api~1comparison/post/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1comparison/post/responses/400/content/application~1json/examples/emptyList","paths/~1api~1comparison/post/responses/400/content/application~1json/examples/duplicateIds","paths/~1api~1comparison/post/responses/400/content/application~1json/examples/invalidJson"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1comparison/post/responses/400/content/application~1json/examples/emptyList","paths/~1api~1comparison/post/responses/400/content/application~1json/examples/duplicateIds","paths/~1api~1comparison/post/responses/400/content/application~1json/examples/invalidJson"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1comparison/post/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1comparison/post/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1comparison/post/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1comparison/post/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}},{"code":"415","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1comparison/post/responses/415/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1comparison/post/responses/415/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1comparison/post/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1comparison/post/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/sravneniya/comparesavedservices"}],"panels":[]}]},"httpPath":"/api/comparison"},{"label":"Добавить услугу в сравнение","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/sravneniya/addservicetocomparison","routeSlug":"/openapi/sravneniya/addservicetocomparison","metadata":{"seo":{"title":"Добавить услугу в сравнение","description":"Не более четырёх услуг одной категории. Тело запроса не требуется."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"addServiceToComparison","name":"Добавить услугу в сравнение","isWebhook":false,"pointer":"/paths/~1api~1comparison~1{serviceId}/post","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Добавить услугу в сравнение","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не более четырёх услуг одной категории. Тело запроса не требуется."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"serviceId","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID услуги."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1comparison~1{serviceId}/post/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/comparison/{serviceId}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"serviceId","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403","404","409","500"],"pointer":"/api/comparison/{serviceId}","href":"sravneniya/addservicetocomparison","openApiOperationId":"addServiceToComparison","summary":"Добавить услугу в сравнение","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Услуга добавлена; remainingCount — сколько ещё услуг этой категории можно добавить."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ComparisonAddResponse","exampleIds":["paths/~1api~1comparison~1{serviceId}/post/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/ComparisonAddResponse","exampleIds":["paths/~1api~1comparison~1{serviceId}/post/responses/200/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"serviceId не является целым числом или меньше 1."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1comparison~1{serviceId}/post/responses/400/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1comparison~1{serviceId}/post/responses/400/content/application~1json/example"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1comparison~1{serviceId}/post/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1comparison~1{serviceId}/post/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Нет права USER; для POST и DELETE также возвращается при блокировке аккаунта (user_blocked)."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1comparison~1{serviceId}/post/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1comparison~1{serviceId}/post/responses/403/content/application~1json/example"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Услуга не найдена."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"},{"code":"409","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Услуга уже добавлена, достигнут лимит категории или у услуги не указана категория."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"},{"code":"500","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Непредвиденная внутренняя ошибка сервера"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1comparison~1{serviceId}/post/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1comparison~1{serviceId}/post/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1api~1comparison~1{serviceId}/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/ComparisonAddResponse","exampleIds":["paths/~1api~1comparison~1{serviceId}/post/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ComparisonAddResponse","exampleIds":["paths/~1api~1comparison~1{serviceId}/post/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1comparison~1{serviceId}/post/responses/400/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1comparison~1{serviceId}/post/responses/400/content/application~1json/example"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1comparison~1{serviceId}/post/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1comparison~1{serviceId}/post/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1comparison~1{serviceId}/post/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1comparison~1{serviceId}/post/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}},{"code":"409","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1comparison~1{serviceId}/post/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1comparison~1{serviceId}/post/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/sravneniya/addservicetocomparison"}],"panels":[]}]},"httpPath":"/api/comparison/{serviceId}"},{"label":"Удалить услугу из сравнения","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/sravneniya/removeservicefromcomparison","routeSlug":"/openapi/sravneniya/removeservicefromcomparison","metadata":{"seo":{"title":"Удалить услугу из сравнения","description":"Удаляет услугу только из списка текущего пользователя. Тело запроса не требуется."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"removeServiceFromComparison","name":"Удалить услугу из сравнения","isWebhook":false,"pointer":"/paths/~1api~1comparison~1{serviceId}/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Удалить услугу из сравнения","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Удаляет услугу только из списка текущего пользователя. Тело запроса не требуется."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"serviceId","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID услуги."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1comparison~1{serviceId}/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/api/comparison/{serviceId}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"serviceId","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403","404","500"],"pointer":"/api/comparison/{serviceId}","href":"sravneniya/removeservicefromcomparison","openApiOperationId":"removeServiceFromComparison","summary":"Удалить услугу из сравнения","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Услуга удалена из сравнения."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1comparison~1{serviceId}/delete/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1comparison~1{serviceId}/delete/responses/200/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"serviceId не является целым числом."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1comparison~1{serviceId}/delete/responses/400/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1comparison~1{serviceId}/delete/responses/400/content/application~1json/example"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1comparison~1{serviceId}/delete/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1comparison~1{serviceId}/delete/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Нет права USER; для POST и DELETE также возвращается при блокировке аккаунта (user_blocked)."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1comparison~1{serviceId}/delete/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1comparison~1{serviceId}/delete/responses/403/content/application~1json/example"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Услуга отсутствует в сравнении текущего пользователя, в том числе уже удалена."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"},{"code":"500","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Непредвиденная внутренняя ошибка сервера"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1comparison~1{serviceId}/delete/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1comparison~1{serviceId}/delete/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1api~1comparison~1{serviceId}/delete/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1comparison~1{serviceId}/delete/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1comparison~1{serviceId}/delete/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1comparison~1{serviceId}/delete/responses/400/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1comparison~1{serviceId}/delete/responses/400/content/application~1json/example"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1comparison~1{serviceId}/delete/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1comparison~1{serviceId}/delete/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1comparison~1{serviceId}/delete/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1comparison~1{serviceId}/delete/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1comparison~1{serviceId}/delete/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1comparison~1{serviceId}/delete/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/sravneniya/removeservicefromcomparison"}],"panels":[]}]},"httpPath":"/api/comparison/{serviceId}"}],"content":{"contentType":"group","meta":{"name":"Сравнения"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Сравнения","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Список услуг и их сравнение для текущего пользователя."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/api/comparison/list","summary":"Получить список услуг в сравнении","prefix":{"name":"get","color":"get"},"badges":[],"link":"/sravneniya/getmycomparisonservices","deprecated":false},{"title":"/api/comparison","summary":"Сравнить выбранные услуги","prefix":{"name":"post","color":"post"},"badges":[],"link":"/sravneniya/comparesavedservices","deprecated":false},{"title":"/api/comparison/{serviceId}","summary":"Добавить услугу в сравнение","prefix":{"name":"post","color":"post"},"badges":[],"link":"/sravneniya/addservicetocomparison","deprecated":false},{"title":"/api/comparison/{serviceId}","summary":"Удалить услугу из сравнения","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/sravneniya/removeservicefromcomparison","deprecated":false}]}]}]}]}},{"type":"group","label":"Админ-панель — история действий","link":"/openapi/admin-panel-istoriya-dejstvij","routeSlug":"/openapi/admin-panel-istoriya-dejstvij","items":[{"label":"Получить историю действий","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/admin-panel-istoriya-dejstvij/paths/~1api~1admin~1action-history/get","routeSlug":"/openapi/admin-panel-istoriya-dejstvij/paths/~1api~1admin~1action-history/get","metadata":{"seo":{"title":"Получить историю действий","description":"Возвращает изменяющие действия сотрудников за выбранный период. Результат отсортирован от новых событий к старым."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить историю действий","isWebhook":false,"pointer":"/paths/~1api~1admin~1action-history/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить историю действий","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает изменяющие действия сотрудников за выбранный период. Результат отсортирован от новых событий к старым."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"from","in":"query","schemaId":"schema_99","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Начало периода включительно."},"children":[]}]}]}],"required":true},{"name":"to","in":"query","schemaId":"schema_99","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Конец периода включительно."},"children":[]}]}]}],"required":true},{"name":"query","in":"query","schemaId":"schema_100","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Поиск по имени, фамилии, полному имени сотрудника или тексту события."},"children":[]}]}]}]},{"name":"offset","in":"query","schemaId":"schema_92"},{"name":"limit","in":"query","schemaId":"schema_101"}],"pointer":"/paths/~1api~1admin~1action-history/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/admin/action-history","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[{"name":"from","in":"query","required":true,"schemaId":"schema_99"},{"name":"to","in":"query","required":true,"schemaId":"schema_99"},{"name":"query","in":"query","required":false,"schemaId":"schema_100"},{"name":"offset","in":"query","schemaId":"schema_92"},{"name":"limit","in":"query","schemaId":"schema_101"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403"],"pointer":"/api/admin/action-history","href":"admin-panel-istoriya-dejstvij/paths/~1api~1admin~1action-history/get","summary":"Получить историю действий","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"История действий успешно получена"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminActionHistoryApiResponse"}},"schemaId":"components/schemas/AdminActionHistoryApiResponse"},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1action-history/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1action-history/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1action-history/get/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1action-history/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1action-history/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1action-history/get/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1action-history/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1action-history/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1action-history/get/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1action-history/get/responses/403/content/application~1json/examples/forbidden"]}],"pointer":"/paths/~1api~1admin~1action-history/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/AdminActionHistoryApiResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminActionHistoryApiResponse"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1action-history/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1action-history/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1action-history/get/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1action-history/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1action-history/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1action-history/get/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1action-history/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1action-history/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1action-history/get/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1action-history/get/responses/403/content/application~1json/examples/forbidden"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/admin-panel-istoriya-dejstvij/paths/~1api~1admin~1action-history/get"}],"panels":[]}]},"httpPath":"/api/admin/action-history"}],"content":{"contentType":"group","meta":{"name":"Админ-панель — история действий"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Админ-панель — история действий","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Просмотр действий сотрудников административной панели."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/api/admin/action-history","summary":"Получить историю действий","prefix":{"name":"get","color":"get"},"badges":[],"link":"/admin-panel-istoriya-dejstvij/paths/~1api~1admin~1action-history/get","deprecated":false}]}]}]}]}},{"type":"group","label":"Админ-панель — жалобы","link":"/openapi/admin-panel-zhaloby","routeSlug":"/openapi/admin-panel-zhaloby","items":[{"label":"Получить статистику жалоб","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/admin-panel-zhaloby/paths/~1api~1admin~1complaints~1stats/get","routeSlug":"/openapi/admin-panel-zhaloby/paths/~1api~1admin~1complaints~1stats/get","metadata":{"seo":{"title":"Получить статистику жалоб","description":"Возвращает статистику жалоб за выбранный период и сравнение с предыдущим периодом такой же продолжительности."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить статистику жалоб","isWebhook":false,"pointer":"/paths/~1api~1admin~1complaints~1stats/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить статистику жалоб","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает статистику жалоб за выбранный период и сравнение с предыдущим периодом такой же продолжительности."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"from","in":"query","schemaId":"schema_99","required":true},{"name":"to","in":"query","schemaId":"schema_99","required":true}],"pointer":"/paths/~1api~1admin~1complaints~1stats/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/admin/complaints/stats","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[{"name":"from","in":"query","required":true,"schemaId":"schema_99"},{"name":"to","in":"query","required":true,"schemaId":"schema_99"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403"],"pointer":"/api/admin/complaints/stats","href":"admin-panel-zhaloby/paths/~1api~1admin~1complaints~1stats/get","summary":"Получить статистику жалоб","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Статистика жалоб получена"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminComplaintStatsApiResponse","exampleIds":["paths/~1api~1admin~1complaints~1stats/get/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/AdminComplaintStatsApiResponse","exampleIds":["paths/~1api~1admin~1complaints~1stats/get/responses/200/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Период отсутствует, имеет неверный формат, перепутан местами или выходит за поддерживаемые границы"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1stats/get/responses/400/content/application~1json/examples/missing_period","paths/~1api~1admin~1complaints~1stats/get/responses/400/content/application~1json/examples/invalid_order","paths/~1api~1admin~1complaints~1stats/get/responses/400/content/application~1json/examples/unsupported_boundaries"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1stats/get/responses/400/content/application~1json/examples/missing_period","paths/~1api~1admin~1complaints~1stats/get/responses/400/content/application~1json/examples/invalid_order","paths/~1api~1admin~1complaints~1stats/get/responses/400/content/application~1json/examples/unsupported_boundaries"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1stats/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1stats/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Нет роли "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ADMIN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" или недостаточно прав на соответствующий раздел админ-панели"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1stats/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1complaints~1stats/get/responses/403/content/application~1json/examples/admin_role_required"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1stats/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1complaints~1stats/get/responses/403/content/application~1json/examples/admin_role_required"]}],"pointer":"/paths/~1api~1admin~1complaints~1stats/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/AdminComplaintStatsApiResponse","exampleIds":["paths/~1api~1admin~1complaints~1stats/get/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminComplaintStatsApiResponse","exampleIds":["paths/~1api~1admin~1complaints~1stats/get/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1stats/get/responses/400/content/application~1json/examples/missing_period","paths/~1api~1admin~1complaints~1stats/get/responses/400/content/application~1json/examples/invalid_order","paths/~1api~1admin~1complaints~1stats/get/responses/400/content/application~1json/examples/unsupported_boundaries"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1stats/get/responses/400/content/application~1json/examples/missing_period","paths/~1api~1admin~1complaints~1stats/get/responses/400/content/application~1json/examples/invalid_order","paths/~1api~1admin~1complaints~1stats/get/responses/400/content/application~1json/examples/unsupported_boundaries"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1stats/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1stats/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1stats/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1complaints~1stats/get/responses/403/content/application~1json/examples/admin_role_required"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1stats/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1complaints~1stats/get/responses/403/content/application~1json/examples/admin_role_required"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/admin-panel-zhaloby/paths/~1api~1admin~1complaints~1stats/get"}],"panels":[]}]},"httpPath":"/api/admin/complaints/stats"},{"label":"Получить список жалоб","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/admin-panel-zhaloby/paths/~1api~1admin~1complaints/get","routeSlug":"/openapi/admin-panel-zhaloby/paths/~1api~1admin~1complaints/get","metadata":{"seo":{"title":"Получить список жалоб","description":"Поиск выполняется по имени заявителя, ФИО участника, на которого подана жалоба, и названию объекта жалобы. Для открытых жалоб используется сортировка по дате создания, для закрытых — по дате решения, от новых к старым."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить список жалоб","isWebhook":false,"pointer":"/paths/~1api~1admin~1complaints/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить список жалоб","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Поиск выполняется по имени заявителя, ФИО участника, на которого подана жалоба, и названию объекта жалобы. Для открытых жалоб используется сортировка по дате создания, для закрытых — по дате решения, от новых к старым."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"from","in":"query","schemaId":"schema_99","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Начало периода включительно"},"children":[]}]}]}],"required":true},{"name":"to","in":"query","schemaId":"schema_99","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Конец периода включительно"},"children":[]}]}]}],"required":true},{"name":"status","in":"query","schemaId":"schema_102","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Статус жалоб; если параметр не передан, возвращаются открытые жалобы."},"children":[]}]}]}]},{"name":"type","in":"query","schemaId":"schema_103","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Тип объекта. Параметр можно передать несколько раз."},"children":[]}]}]}]},{"name":"query","in":"query","schemaId":"schema_100","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Поиск без учёта регистра по заявителю, участнику или названию объекта"},"children":[]}]}]}]},{"name":"offset","in":"query","schemaId":"schema_92"},{"name":"limit","in":"query","schemaId":"schema_101"}],"pointer":"/paths/~1api~1admin~1complaints/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/admin/complaints","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[{"name":"from","in":"query","required":true,"schemaId":"schema_99"},{"name":"to","in":"query","required":true,"schemaId":"schema_99"},{"name":"status","in":"query","schemaId":"schema_102"},{"name":"type","in":"query","schemaId":"schema_103","style":"form","explode":true},{"name":"query","in":"query","schemaId":"schema_100"},{"name":"offset","in":"query","schemaId":"schema_92"},{"name":"limit","in":"query","schemaId":"schema_101"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403"],"pointer":"/api/admin/complaints","href":"admin-panel-zhaloby/paths/~1api~1admin~1complaints/get","summary":"Получить список жалоб","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Жалобы получены"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminComplaintListApiResponse","exampleIds":["paths/~1api~1admin~1complaints/get/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/AdminComplaintListApiResponse","exampleIds":["paths/~1api~1admin~1complaints/get/responses/200/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректный период, фильтр, поисковый запрос или параметры пагинации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints/get/responses/400/content/application~1json/examples/invalid_status","paths/~1api~1admin~1complaints/get/responses/400/content/application~1json/examples/invalid_subject_type","paths/~1api~1admin~1complaints/get/responses/400/content/application~1json/examples/query_too_long","paths/~1api~1admin~1complaints/get/responses/400/content/application~1json/examples/invalid_offset","paths/~1api~1admin~1complaints/get/responses/400/content/application~1json/examples/invalid_limit"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints/get/responses/400/content/application~1json/examples/invalid_status","paths/~1api~1admin~1complaints/get/responses/400/content/application~1json/examples/invalid_subject_type","paths/~1api~1admin~1complaints/get/responses/400/content/application~1json/examples/query_too_long","paths/~1api~1admin~1complaints/get/responses/400/content/application~1json/examples/invalid_offset","paths/~1api~1admin~1complaints/get/responses/400/content/application~1json/examples/invalid_limit"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Нет роли "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ADMIN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" или недостаточно прав на соответствующий раздел админ-панели"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1complaints/get/responses/403/content/application~1json/examples/admin_role_required"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1complaints/get/responses/403/content/application~1json/examples/admin_role_required"]}],"pointer":"/paths/~1api~1admin~1complaints/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/AdminComplaintListApiResponse","exampleIds":["paths/~1api~1admin~1complaints/get/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminComplaintListApiResponse","exampleIds":["paths/~1api~1admin~1complaints/get/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints/get/responses/400/content/application~1json/examples/invalid_status","paths/~1api~1admin~1complaints/get/responses/400/content/application~1json/examples/invalid_subject_type","paths/~1api~1admin~1complaints/get/responses/400/content/application~1json/examples/query_too_long","paths/~1api~1admin~1complaints/get/responses/400/content/application~1json/examples/invalid_offset","paths/~1api~1admin~1complaints/get/responses/400/content/application~1json/examples/invalid_limit"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints/get/responses/400/content/application~1json/examples/invalid_status","paths/~1api~1admin~1complaints/get/responses/400/content/application~1json/examples/invalid_subject_type","paths/~1api~1admin~1complaints/get/responses/400/content/application~1json/examples/query_too_long","paths/~1api~1admin~1complaints/get/responses/400/content/application~1json/examples/invalid_offset","paths/~1api~1admin~1complaints/get/responses/400/content/application~1json/examples/invalid_limit"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1complaints/get/responses/403/content/application~1json/examples/admin_role_required"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1complaints/get/responses/403/content/application~1json/examples/admin_role_required"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/admin-panel-zhaloby/paths/~1api~1admin~1complaints/get"}],"panels":[]}]},"httpPath":"/api/admin/complaints"},{"label":"Получить жалобу","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/admin-panel-zhaloby/paths/~1api~1admin~1complaints~1{complaintid}/get","routeSlug":"/openapi/admin-panel-zhaloby/paths/~1api~1admin~1complaints~1{complaintid}/get","metadata":{"seo":{"title":"Получить жалобу","description":"Возвращает участников, доступные решения и снимок отзыва/услуги. Для остальных типов оба поля снимков равны null."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить жалобу","isWebhook":false,"pointer":"/paths/~1api~1admin~1complaints~1{complaintId}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить жалобу","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает участников, доступные решения и снимок отзыва/услуги. Для остальных типов оба поля снимков равны "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"complaintId","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Положительный идентификатор жалобы."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1admin~1complaints~1{complaintId}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/admin/complaints/{complaintId}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"complaintId","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403","404"],"pointer":"/api/admin/complaints/{complaintId}","href":"admin-panel-zhaloby/paths/~1api~1admin~1complaints~1{complaintid}/get","summary":"Получить жалобу","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Жалоба получена"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminComplaintDetailsApiResponse","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}/get/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/AdminComplaintDetailsApiResponse","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}/get/responses/200/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID жалобы отсутствует или не является положительным числом"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}/get/responses/400/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}/get/responses/400/content/application~1json/example"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Нет роли "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ADMIN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" или недостаточно прав на соответствующий раздел админ-панели"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1complaints~1{complaintId}/get/responses/403/content/application~1json/examples/admin_role_required"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1complaints~1{complaintId}/get/responses/403/content/application~1json/examples/admin_role_required"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Жалоба с переданным ID не найдена"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}/get/responses/404/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}/get/responses/404/content/application~1json/example"]}],"pointer":"/paths/~1api~1admin~1complaints~1{complaintId}/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/AdminComplaintDetailsApiResponse","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}/get/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminComplaintDetailsApiResponse","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}/get/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}/get/responses/400/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}/get/responses/400/content/application~1json/example"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1complaints~1{complaintId}/get/responses/403/content/application~1json/examples/admin_role_required"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1complaints~1{complaintId}/get/responses/403/content/application~1json/examples/admin_role_required"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}/get/responses/404/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}/get/responses/404/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/admin-panel-zhaloby/paths/~1api~1admin~1complaints~1{complaintid}/get"}],"panels":[]}]},"httpPath":"/api/admin/complaints/{complaintId}"},{"label":"Вынести решение по жалобе","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/admin-panel-zhaloby/paths/~1api~1admin~1complaints~1{complaintid}~1resolve/post","routeSlug":"/openapi/admin-panel-zhaloby/paths/~1api~1admin~1complaints~1{complaintid}~1resolve/post","metadata":{"seo":{"title":"Вынести решение по жалобе","description":"Атомарно закрывает открытую жалобу и выполняет выбранное действие. Переданные текстысохраняются в жалобе и отправляются заявителю и адресату от имени поддержки;comment остаётся только во внутренней системе. Повторное решение возвращает 409."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Вынести решение по жалобе","isWebhook":false,"pointer":"/paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Вынести решение по жалобе","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Атомарно закрывает открытую жалобу и выполняет выбранное действие. Переданные тексты"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"сохраняются в жалобе и отправляются заявителю и адресату от имени поддержки;"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"comment"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" остаётся только во внутренней системе. Повторное решение возвращает "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"409"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"После успешного принятия решения создаётся одна запись в истории действий администратора"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"с внутренним типом "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"COMPLAINT_RESOLVED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Текст события формируется по типу объекта жалобы"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"и выбранному решению в формате:"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Принято решение по жалобе №{complaintId} на {тип объекта}: {результат решения}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Например: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Принято решение по жалобе №121 на отзыв: отзыв удалён"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Если операция завершается ошибкой, жалоба не закрывается и запись в историю не добавляется."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"complaintId","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Положительный идентификатор жалобы."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/ResolveComplaintBody","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/requestBody/content/application~1json/example"]}},"schemaId":"components/schemas/ResolveComplaintBody","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/requestBody/content/application~1json/example"],"pointer":"/paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/admin/complaints/{complaintId}/resolve","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"complaintId","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/ResolveComplaintBody","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/requestBody/content/application~1json/example"]}},"responseCodes":["200","400","401","403","404","409","415"],"pointer":"/api/admin/complaints/{complaintId}/resolve","href":"admin-panel-zhaloby/paths/~1api~1admin~1complaints~1{complaintid}~1resolve/post","summary":"Вынести решение по жалобе","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/ResolveComplaintBody","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/ResolveComplaintBody","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Решение сохранено, в истории действий администратора создана запись"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminComplaintResolutionApiResponse","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/AdminComplaintResolutionApiResponse","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/200/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректный ID жалобы, тело запроса, длина текста или решение, недоступное для типа/состояния объекта"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/400/content/application~1json/examples/request_body_required","paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/400/content/application~1json/examples/resolution_required","paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/400/content/application~1json/examples/reporter_message_required","paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/400/content/application~1json/examples/subject_message_too_long","paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/400/content/application~1json/examples/comment_required","paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/400/content/application~1json/examples/resolution_not_available"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/400/content/application~1json/examples/request_body_required","paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/400/content/application~1json/examples/resolution_required","paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/400/content/application~1json/examples/reporter_message_required","paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/400/content/application~1json/examples/subject_message_too_long","paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/400/content/application~1json/examples/comment_required","paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/400/content/application~1json/examples/resolution_not_available"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Нет роли "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ADMIN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" или недостаточно прав на соответствующий раздел админ-панели"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/403/content/application~1json/examples/admin_role_required"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/403/content/application~1json/examples/admin_role_required"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Жалоба, администратор или связанный с выбранным действием объект не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/404/content/application~1json/examples/complaint_not_found","paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/404/content/application~1json/examples/review_not_found","paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/404/content/application~1json/examples/service_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/404/content/application~1json/examples/complaint_not_found","paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/404/content/application~1json/examples/review_not_found","paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/404/content/application~1json/examples/service_not_found"]},{"code":"409","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Жалоба уже закрыта, объект уже заблокирован либо жалобу одновременно изменил другой запрос"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/409/content/application~1json/examples/already_closed","paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/409/content/application~1json/examples/subject_already_blocked"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/409/content/application~1json/examples/already_closed","paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/409/content/application~1json/examples/subject_already_blocked"]},{"code":"415","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Тело POST-запроса передано без "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Content-Type: application/json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" или с неподдерживаемым media type"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/415/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/415/content/application~1json/example"]}],"pointer":"/paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/AdminComplaintResolutionApiResponse","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminComplaintResolutionApiResponse","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/400/content/application~1json/examples/request_body_required","paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/400/content/application~1json/examples/resolution_required","paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/400/content/application~1json/examples/reporter_message_required","paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/400/content/application~1json/examples/subject_message_too_long","paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/400/content/application~1json/examples/comment_required","paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/400/content/application~1json/examples/resolution_not_available"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/400/content/application~1json/examples/request_body_required","paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/400/content/application~1json/examples/resolution_required","paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/400/content/application~1json/examples/reporter_message_required","paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/400/content/application~1json/examples/subject_message_too_long","paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/400/content/application~1json/examples/comment_required","paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/400/content/application~1json/examples/resolution_not_available"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/403/content/application~1json/examples/admin_role_required"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/403/content/application~1json/examples/admin_role_required"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/404/content/application~1json/examples/complaint_not_found","paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/404/content/application~1json/examples/review_not_found","paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/404/content/application~1json/examples/service_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/404/content/application~1json/examples/complaint_not_found","paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/404/content/application~1json/examples/review_not_found","paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/404/content/application~1json/examples/service_not_found"]}}},{"code":"409","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/409/content/application~1json/examples/already_closed","paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/409/content/application~1json/examples/subject_already_blocked"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/409/content/application~1json/examples/already_closed","paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/409/content/application~1json/examples/subject_already_blocked"]}}},{"code":"415","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/415/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/415/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/admin-panel-zhaloby/paths/~1api~1admin~1complaints~1{complaintid}~1resolve/post"}],"panels":[]}]},"httpPath":"/api/admin/complaints/{complaintId}/resolve"},{"label":"Получить шаблоны решений по жалобе","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/admin-panel-zhaloby/paths/~1api~1admin~1complaints~1{complaintid}~1resolution-templates/get","routeSlug":"/openapi/admin-panel-zhaloby/paths/~1api~1admin~1complaints~1{complaintid}~1resolution-templates/get","metadata":{"seo":{"title":"Получить шаблоны решений по жалобе","description":"Возвращает только допустимые для текущей жалобы решения. Тексты являются значениямипо умолчанию — фронт может изменить их перед отправкой решения. Для закрытой жалобыitems пуст. Если отзыв или услуга уже удалены, доступны SUBJECT_UNAVAILABLEи NO_VIOLATION."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить шаблоны решений по жалобе","isWebhook":false,"pointer":"/paths/~1api~1admin~1complaints~1{complaintId}~1resolution-templates/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить шаблоны решений по жалобе","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает только допустимые для текущей жалобы решения. Тексты являются значениями"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"по умолчанию — фронт может изменить их перед отправкой решения. Для закрытой жалобы"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"items"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" пуст. Если отзыв или услуга уже удалены, доступны "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SUBJECT_UNAVAILABLE"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"NO_VIOLATION"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"complaintId","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Положительный идентификатор жалобы."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1admin~1complaints~1{complaintId}~1resolution-templates/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/admin/complaints/{complaintId}/resolution-templates","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"complaintId","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403","404","409"],"pointer":"/api/admin/complaints/{complaintId}/resolution-templates","href":"admin-panel-zhaloby/paths/~1api~1admin~1complaints~1{complaintid}~1resolution-templates/get","summary":"Получить шаблоны решений по жалобе","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Шаблоны решений получены"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminComplaintResolutionTemplatesApiResponse","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}~1resolution-templates/get/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/AdminComplaintResolutionTemplatesApiResponse","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}~1resolution-templates/get/responses/200/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID жалобы отсутствует или не является положительным числом"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}~1resolution-templates/get/responses/400/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}~1resolution-templates/get/responses/400/content/application~1json/example"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}~1resolution-templates/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}~1resolution-templates/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Нет роли "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ADMIN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" или недостаточно прав на соответствующий раздел админ-панели"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}~1resolution-templates/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1complaints~1{complaintId}~1resolution-templates/get/responses/403/content/application~1json/examples/admin_role_required"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}~1resolution-templates/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1complaints~1{complaintId}~1resolution-templates/get/responses/403/content/application~1json/examples/admin_role_required"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Жалоба с переданным ID не найдена"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}~1resolution-templates/get/responses/404/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}~1resolution-templates/get/responses/404/content/application~1json/example"]},{"code":"409","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Для одного из допустимых решений отсутствует шаблон в базе; требуется исправить конфигурацию backend"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}~1resolution-templates/get/responses/409/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}~1resolution-templates/get/responses/409/content/application~1json/example"]}],"pointer":"/paths/~1api~1admin~1complaints~1{complaintId}~1resolution-templates/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/AdminComplaintResolutionTemplatesApiResponse","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}~1resolution-templates/get/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminComplaintResolutionTemplatesApiResponse","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}~1resolution-templates/get/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}~1resolution-templates/get/responses/400/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}~1resolution-templates/get/responses/400/content/application~1json/example"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}~1resolution-templates/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}~1resolution-templates/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}~1resolution-templates/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1complaints~1{complaintId}~1resolution-templates/get/responses/403/content/application~1json/examples/admin_role_required"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}~1resolution-templates/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1complaints~1{complaintId}~1resolution-templates/get/responses/403/content/application~1json/examples/admin_role_required"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}~1resolution-templates/get/responses/404/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}~1resolution-templates/get/responses/404/content/application~1json/example"]}}},{"code":"409","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}~1resolution-templates/get/responses/409/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1{complaintId}~1resolution-templates/get/responses/409/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/admin-panel-zhaloby/paths/~1api~1admin~1complaints~1{complaintid}~1resolution-templates/get"}],"panels":[]}]},"httpPath":"/api/admin/complaints/{complaintId}/resolution-templates"},{"label":"Создать тестовую жалобу","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/admin-panel-zhaloby/paths/~1api~1admin~1complaints~1test/post","routeSlug":"/openapi/admin-panel-zhaloby/paths/~1api~1admin~1complaints~1test/post","metadata":{"seo":{"title":"Создать тестовую жалобу","description":"Создаёт жалобу на реально существующий объект с системным заявителем -2; для отзыва или услуги сразу сохраняется снимок объекта."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Создать тестовую жалобу","isWebhook":false,"pointer":"/paths/~1api~1admin~1complaints~1test/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Создать тестовую жалобу","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Создаёт жалобу на реально существующий объект с системным заявителем "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"-2"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; для отзыва или услуги сразу сохраняется снимок объекта."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/CreateTestComplaintBody","exampleIds":["paths/~1api~1admin~1complaints~1test/post/requestBody/content/application~1json/example"]}},"schemaId":"components/schemas/CreateTestComplaintBody","exampleIds":["paths/~1api~1admin~1complaints~1test/post/requestBody/content/application~1json/example"],"pointer":"/paths/~1api~1admin~1complaints~1test/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/admin/complaints/test","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/CreateTestComplaintBody","exampleIds":["paths/~1api~1admin~1complaints~1test/post/requestBody/content/application~1json/example"]}},"responseCodes":["201","400","401","403","404","415"],"pointer":"/api/admin/complaints/test","href":"admin-panel-zhaloby/paths/~1api~1admin~1complaints~1test/post","summary":"Создать тестовую жалобу","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/CreateTestComplaintBody","exampleIds":["paths/~1api~1admin~1complaints~1test/post/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/CreateTestComplaintBody","exampleIds":["paths/~1api~1admin~1complaints~1test/post/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Тестовая жалоба создана"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminComplaintCreationApiResponse","exampleIds":["paths/~1api~1admin~1complaints~1test/post/responses/201/content/application~1json/example"]}},"schemaId":"components/schemas/AdminComplaintCreationApiResponse","exampleIds":["paths/~1api~1admin~1complaints~1test/post/responses/201/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Тело отсутствует либо тип, ID объекта или причина не прошли валидацию"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1test/post/responses/400/content/application~1json/examples/request_body_required","paths/~1api~1admin~1complaints~1test/post/responses/400/content/application~1json/examples/subject_type_required","paths/~1api~1admin~1complaints~1test/post/responses/400/content/application~1json/examples/invalid_subject_id","paths/~1api~1admin~1complaints~1test/post/responses/400/content/application~1json/examples/invalid_reason"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1test/post/responses/400/content/application~1json/examples/request_body_required","paths/~1api~1admin~1complaints~1test/post/responses/400/content/application~1json/examples/subject_type_required","paths/~1api~1admin~1complaints~1test/post/responses/400/content/application~1json/examples/invalid_subject_id","paths/~1api~1admin~1complaints~1test/post/responses/400/content/application~1json/examples/invalid_reason"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1test/post/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1test/post/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Нет роли "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ADMIN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" или недостаточно прав на соответствующий раздел админ-панели"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1test/post/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1complaints~1test/post/responses/403/content/application~1json/examples/admin_role_required"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1test/post/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1complaints~1test/post/responses/403/content/application~1json/examples/admin_role_required"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Объект тестовой жалобы не найден или не соответствует переданному типу"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1test/post/responses/404/content/application~1json/examples/user_not_found","paths/~1api~1admin~1complaints~1test/post/responses/404/content/application~1json/examples/master_not_found","paths/~1api~1admin~1complaints~1test/post/responses/404/content/application~1json/examples/salon_not_found","paths/~1api~1admin~1complaints~1test/post/responses/404/content/application~1json/examples/service_not_found","paths/~1api~1admin~1complaints~1test/post/responses/404/content/application~1json/examples/review_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1test/post/responses/404/content/application~1json/examples/user_not_found","paths/~1api~1admin~1complaints~1test/post/responses/404/content/application~1json/examples/master_not_found","paths/~1api~1admin~1complaints~1test/post/responses/404/content/application~1json/examples/salon_not_found","paths/~1api~1admin~1complaints~1test/post/responses/404/content/application~1json/examples/service_not_found","paths/~1api~1admin~1complaints~1test/post/responses/404/content/application~1json/examples/review_not_found"]},{"code":"415","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Тело POST-запроса передано без "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Content-Type: application/json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" или с неподдерживаемым media type"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1test/post/responses/415/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1test/post/responses/415/content/application~1json/example"]}],"pointer":"/paths/~1api~1admin~1complaints~1test/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"201","schemaId":"components/schemas/AdminComplaintCreationApiResponse","exampleIds":["paths/~1api~1admin~1complaints~1test/post/responses/201/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminComplaintCreationApiResponse","exampleIds":["paths/~1api~1admin~1complaints~1test/post/responses/201/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1test/post/responses/400/content/application~1json/examples/request_body_required","paths/~1api~1admin~1complaints~1test/post/responses/400/content/application~1json/examples/subject_type_required","paths/~1api~1admin~1complaints~1test/post/responses/400/content/application~1json/examples/invalid_subject_id","paths/~1api~1admin~1complaints~1test/post/responses/400/content/application~1json/examples/invalid_reason"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1test/post/responses/400/content/application~1json/examples/request_body_required","paths/~1api~1admin~1complaints~1test/post/responses/400/content/application~1json/examples/subject_type_required","paths/~1api~1admin~1complaints~1test/post/responses/400/content/application~1json/examples/invalid_subject_id","paths/~1api~1admin~1complaints~1test/post/responses/400/content/application~1json/examples/invalid_reason"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1test/post/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1test/post/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1test/post/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1complaints~1test/post/responses/403/content/application~1json/examples/admin_role_required"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1test/post/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1complaints~1test/post/responses/403/content/application~1json/examples/admin_role_required"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1test/post/responses/404/content/application~1json/examples/user_not_found","paths/~1api~1admin~1complaints~1test/post/responses/404/content/application~1json/examples/master_not_found","paths/~1api~1admin~1complaints~1test/post/responses/404/content/application~1json/examples/salon_not_found","paths/~1api~1admin~1complaints~1test/post/responses/404/content/application~1json/examples/service_not_found","paths/~1api~1admin~1complaints~1test/post/responses/404/content/application~1json/examples/review_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1test/post/responses/404/content/application~1json/examples/user_not_found","paths/~1api~1admin~1complaints~1test/post/responses/404/content/application~1json/examples/master_not_found","paths/~1api~1admin~1complaints~1test/post/responses/404/content/application~1json/examples/salon_not_found","paths/~1api~1admin~1complaints~1test/post/responses/404/content/application~1json/examples/service_not_found","paths/~1api~1admin~1complaints~1test/post/responses/404/content/application~1json/examples/review_not_found"]}}},{"code":"415","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1test/post/responses/415/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1complaints~1test/post/responses/415/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/admin-panel-zhaloby/paths/~1api~1admin~1complaints~1test/post"}],"panels":[]}]},"httpPath":"/api/admin/complaints/test"}],"content":{"contentType":"group","meta":{"name":"Админ-панель — жалобы"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Админ-панель — жалобы","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Статистика, поиск, просмотр снимков объектов, шаблоны решений и рассмотрение жалоб."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/api/admin/complaints/stats","summary":"Получить статистику жалоб","prefix":{"name":"get","color":"get"},"badges":[],"link":"/admin-panel-zhaloby/paths/~1api~1admin~1complaints~1stats/get","deprecated":false},{"title":"/api/admin/complaints","summary":"Получить список жалоб","prefix":{"name":"get","color":"get"},"badges":[],"link":"/admin-panel-zhaloby/paths/~1api~1admin~1complaints/get","deprecated":false},{"title":"/api/admin/complaints/{complaintId}","summary":"Получить жалобу","prefix":{"name":"get","color":"get"},"badges":[],"link":"/admin-panel-zhaloby/paths/~1api~1admin~1complaints~1{complaintid}/get","deprecated":false},{"title":"/api/admin/complaints/{complaintId}/resolve","summary":"Вынести решение по жалобе","prefix":{"name":"post","color":"post"},"badges":[],"link":"/admin-panel-zhaloby/paths/~1api~1admin~1complaints~1{complaintid}~1resolve/post","deprecated":false},{"title":"/api/admin/complaints/{complaintId}/resolution-templates","summary":"Получить шаблоны решений по жалобе","prefix":{"name":"get","color":"get"},"badges":[],"link":"/admin-panel-zhaloby/paths/~1api~1admin~1complaints~1{complaintid}~1resolution-templates/get","deprecated":false},{"title":"/api/admin/complaints/test","summary":"Создать тестовую жалобу","prefix":{"name":"post","color":"post"},"badges":[],"link":"/admin-panel-zhaloby/paths/~1api~1admin~1complaints~1test/post","deprecated":false}]}]}]}]}},{"type":"group","label":"Админ-панель — категории","link":"/openapi/admin-panel-kategorii","routeSlug":"/openapi/admin-panel-kategorii","items":[{"label":"Получить корневые категории для админ-панели","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/admin-panel-kategorii/paths/~1api~1admin~1categories/get","routeSlug":"/openapi/admin-panel-kategorii/paths/~1api~1admin~1categories/get","metadata":{"seo":{"title":"Получить корневые категории для админ-панели","description":"Возвращает корневые категории, отсортированные по sort_order и ID. Каждый элементсодержит количество прямых дочерних категорий и услуг. Требуется роль ADMINи доступ CATEGORIES уровня READ или FULL."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить корневые категории для админ-панели","isWebhook":false,"pointer":"/paths/~1api~1admin~1categories/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить корневые категории для админ-панели","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает корневые категории, отсортированные по "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"sort_order"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и ID. Каждый элемент"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"содержит количество прямых дочерних категорий и услуг. Требуется роль "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ADMIN"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"и доступ CATEGORIES уровня READ или FULL."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/admin/categories","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","401","403"],"pointer":"/api/admin/categories","href":"admin-panel-kategorii/paths/~1api~1admin~1categories/get","summary":"Получить корневые категории для админ-панели","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Категории успешно получены"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminCategoryListResponse","exampleIds":["paths/~1api~1admin~1categories/get/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/AdminCategoryListResponse","exampleIds":["paths/~1api~1admin~1categories/get/responses/200/content/application~1json/example"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1categories/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1categories/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1categories/get/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1categories/get/responses/403/content/application~1json/examples/forbidden"]}],"pointer":"/paths/~1api~1admin~1categories/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/AdminCategoryListResponse","exampleIds":["paths/~1api~1admin~1categories/get/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminCategoryListResponse","exampleIds":["paths/~1api~1admin~1categories/get/responses/200/content/application~1json/example"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1categories/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1categories/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1categories/get/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1categories/get/responses/403/content/application~1json/examples/forbidden"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/admin-panel-kategorii/paths/~1api~1admin~1categories/get"}],"panels":[]}]},"httpPath":"/api/admin/categories"},{"label":"Создать категорию из админ-панели","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/admin-panel-kategorii/paths/~1api~1admin~1categories/post","routeSlug":"/openapi/admin-panel-kategorii/paths/~1api~1admin~1categories/post","metadata":{"seo":{"title":"Создать категорию из админ-панели","description":"Создаёт корневую категорию вместе со списком её подкатегорий. Корневая категорияполучает show_in_onboarding=true. Порядок корневой категории и подкатегорийназначается сервером автоматически по текущему порядку и индексу в массиве.Переданный image_id должен принадлежать администратору и иметь назначение CATEGORY.Требуется роль ADMIN и доступ CATEGORIES уровня FULL."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Создать категорию из админ-панели","isWebhook":false,"pointer":"/paths/~1api~1admin~1categories/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Создать категорию из админ-панели","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Создаёт корневую категорию вместе со списком её подкатегорий. Корневая категория"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"получает "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"show_in_onboarding=true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Порядок корневой категории и подкатегорий"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"назначается сервером автоматически по текущему порядку и индексу в массиве."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Переданный "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"image_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" должен принадлежать администратору и иметь назначение "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CATEGORY"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требуется роль "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ADMIN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и доступ CATEGORIES уровня FULL."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/AdminCreateCategoryRequest","exampleIds":["paths/~1api~1admin~1categories/post/requestBody/content/application~1json/example"]}},"schemaId":"components/schemas/AdminCreateCategoryRequest","exampleIds":["paths/~1api~1admin~1categories/post/requestBody/content/application~1json/example"],"pointer":"/paths/~1api~1admin~1categories/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/admin/categories","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/AdminCreateCategoryRequest","exampleIds":["paths/~1api~1admin~1categories/post/requestBody/content/application~1json/example"]}},"responseCodes":["201","400","401","403"],"pointer":"/api/admin/categories","href":"admin-panel-kategorii/paths/~1api~1admin~1categories/post","summary":"Создать категорию из админ-панели","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/AdminCreateCategoryRequest","exampleIds":["paths/~1api~1admin~1categories/post/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/AdminCreateCategoryRequest","exampleIds":["paths/~1api~1admin~1categories/post/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Категория успешно создана"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CategorySingleResponse","exampleIds":["paths/~1api~1admin~1categories/post/responses/201/content/application~1json/example"]}},"schemaId":"components/schemas/CategorySingleResponse","exampleIds":["paths/~1api~1admin~1categories/post/responses/201/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1categories/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1categories/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1categories/post/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1categories/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1categories/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1categories/post/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1categories/post/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1categories/post/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1categories/post/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1categories/post/responses/403/content/application~1json/examples/forbidden"]}],"pointer":"/paths/~1api~1admin~1categories/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"201","schemaId":"components/schemas/CategorySingleResponse","exampleIds":["paths/~1api~1admin~1categories/post/responses/201/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CategorySingleResponse","exampleIds":["paths/~1api~1admin~1categories/post/responses/201/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1categories/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1categories/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1categories/post/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1categories/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1categories/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1categories/post/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1categories/post/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1categories/post/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1categories/post/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1categories/post/responses/403/content/application~1json/examples/forbidden"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/admin-panel-kategorii/paths/~1api~1admin~1categories/post"}],"panels":[]}]},"httpPath":"/api/admin/categories"},{"label":"Изменить категорию из админ-панели","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/admin-panel-kategorii/paths/~1api~1admin~1categories~1{categoryid}/patch","routeSlug":"/openapi/admin-panel-kategorii/paths/~1api~1admin~1categories~1{categoryid}/patch","metadata":{"seo":{"title":"Изменить категорию из админ-панели","description":"Частично изменяет корневую категорию. Можно изменить название, изображение и списокподкатегорий. Если subcategories передан, он считается полным целевым списком:отсутствующие подкатегории удаляются, новые создаются, а category_id используетсядля изменения существующей подкатегории. Порядок назначается по индексу массива.Удаление подкатегории, которая сама или через дочерние категории используется услугой,возвращает 409 Conflict; операция выполняется атомарно.Требуется роль ADMIN и доступ CATEGORIES уровня FULL."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Изменить категорию из админ-панели","isWebhook":false,"pointer":"/paths/~1api~1admin~1categories~1{categoryId}/patch","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Изменить категорию из админ-панели","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Частично изменяет корневую категорию. Можно изменить название, изображение и список"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"подкатегорий. Если "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"subcategories"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" передан, он считается полным целевым списком:"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"отсутствующие подкатегории удаляются, новые создаются, а "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"category_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" используется"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"для изменения существующей подкатегории. Порядок назначается по индексу массива."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Удаление подкатегории, которая сама или через дочерние категории используется услугой,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"возвращает "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"409 Conflict"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; операция выполняется атомарно."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требуется роль "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ADMIN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и доступ CATEGORIES уровня FULL."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"categoryId","in":"path","schemaId":"schema_97","required":true}],"pointer":"/paths/~1api~1admin~1categories~1{categoryId}/patch/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/AdminUpdateCategoryRequest","exampleIds":["paths/~1api~1admin~1categories~1{categoryId}/patch/requestBody/content/application~1json/example"]}},"schemaId":"components/schemas/AdminUpdateCategoryRequest","exampleIds":["paths/~1api~1admin~1categories~1{categoryId}/patch/requestBody/content/application~1json/example"],"pointer":"/paths/~1api~1admin~1categories~1{categoryId}/patch/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PATCH","path":"/api/admin/categories/{categoryId}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"categoryId","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/AdminUpdateCategoryRequest","exampleIds":["paths/~1api~1admin~1categories~1{categoryId}/patch/requestBody/content/application~1json/example"]}},"responseCodes":["200","400","401","403","404","409"],"pointer":"/api/admin/categories/{categoryId}","href":"admin-panel-kategorii/paths/~1api~1admin~1categories~1{categoryid}/patch","summary":"Изменить категорию из админ-панели","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/AdminUpdateCategoryRequest","exampleIds":["paths/~1api~1admin~1categories~1{categoryId}/patch/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/AdminUpdateCategoryRequest","exampleIds":["paths/~1api~1admin~1categories~1{categoryId}/patch/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Категория успешно изменена"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CategoryUpdateResponse","exampleIds":["paths/~1api~1admin~1categories~1{categoryId}/patch/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/CategoryUpdateResponse","exampleIds":["paths/~1api~1admin~1categories~1{categoryId}/patch/responses/200/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1categories~1{categoryId}/patch/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1categories~1{categoryId}/patch/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1categories~1{categoryId}/patch/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1categories~1{categoryId}/patch/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1categories~1{categoryId}/patch/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1categories~1{categoryId}/patch/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1categories~1{categoryId}/patch/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1categories~1{categoryId}/patch/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1categories~1{categoryId}/patch/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1categories~1{categoryId}/patch/responses/403/content/application~1json/examples/forbidden"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрошенный ресурс не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1categories~1{categoryId}/patch/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1categories~1{categoryId}/patch/responses/404/content/application~1json/examples/not_found"]},{"code":"409","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрос конфликтует с текущим состоянием ресурса"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1categories~1{categoryId}/patch/responses/409/content/application~1json/examples/conflict"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1categories~1{categoryId}/patch/responses/409/content/application~1json/examples/conflict"]}],"pointer":"/paths/~1api~1admin~1categories~1{categoryId}/patch/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/CategoryUpdateResponse","exampleIds":["paths/~1api~1admin~1categories~1{categoryId}/patch/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CategoryUpdateResponse","exampleIds":["paths/~1api~1admin~1categories~1{categoryId}/patch/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1categories~1{categoryId}/patch/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1categories~1{categoryId}/patch/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1categories~1{categoryId}/patch/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1categories~1{categoryId}/patch/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1categories~1{categoryId}/patch/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1categories~1{categoryId}/patch/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1categories~1{categoryId}/patch/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1categories~1{categoryId}/patch/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1categories~1{categoryId}/patch/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1categories~1{categoryId}/patch/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1categories~1{categoryId}/patch/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1categories~1{categoryId}/patch/responses/404/content/application~1json/examples/not_found"]}}},{"code":"409","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1categories~1{categoryId}/patch/responses/409/content/application~1json/examples/conflict"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1categories~1{categoryId}/patch/responses/409/content/application~1json/examples/conflict"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/admin-panel-kategorii/paths/~1api~1admin~1categories~1{categoryid}/patch"}],"panels":[]}]},"httpPath":"/api/admin/categories/{categoryId}"},{"label":"Удалить категорию из админ-панели","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/admin-panel-kategorii/paths/~1api~1admin~1categories~1{categoryid}/delete","routeSlug":"/openapi/admin-panel-kategorii/paths/~1api~1admin~1categories~1{categoryid}/delete","metadata":{"seo":{"title":"Удалить категорию из админ-панели","description":"Удаляет категорию, если она и её дочерние категории не используются услугами.Требуется роль ADMIN и доступ CATEGORIES уровня FULL."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Удалить категорию из админ-панели","isWebhook":false,"pointer":"/paths/~1api~1admin~1categories~1{categoryId}/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Удалить категорию из админ-панели","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Удаляет категорию, если она и её дочерние категории не используются услугами."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требуется роль "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ADMIN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и доступ CATEGORIES уровня FULL."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"categoryId","in":"path","schemaId":"schema_97","required":true}],"pointer":"/paths/~1api~1admin~1categories~1{categoryId}/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/api/admin/categories/{categoryId}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"categoryId","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403","404","409"],"pointer":"/api/admin/categories/{categoryId}","href":"admin-panel-kategorii/paths/~1api~1admin~1categories~1{categoryid}/delete","summary":"Удалить категорию из админ-панели","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Категория успешно удалена"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CategoryDeleteResponse","exampleIds":["paths/~1api~1admin~1categories~1{categoryId}/delete/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/CategoryDeleteResponse","exampleIds":["paths/~1api~1admin~1categories~1{categoryId}/delete/responses/200/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1categories~1{categoryId}/delete/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1categories~1{categoryId}/delete/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1categories~1{categoryId}/delete/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1categories~1{categoryId}/delete/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1categories~1{categoryId}/delete/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1categories~1{categoryId}/delete/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1categories~1{categoryId}/delete/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1categories~1{categoryId}/delete/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1categories~1{categoryId}/delete/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1categories~1{categoryId}/delete/responses/403/content/application~1json/examples/forbidden"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрошенный ресурс не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1categories~1{categoryId}/delete/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1categories~1{categoryId}/delete/responses/404/content/application~1json/examples/not_found"]},{"code":"409","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрос конфликтует с текущим состоянием ресурса"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1categories~1{categoryId}/delete/responses/409/content/application~1json/examples/conflict"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1categories~1{categoryId}/delete/responses/409/content/application~1json/examples/conflict"]}],"pointer":"/paths/~1api~1admin~1categories~1{categoryId}/delete/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/CategoryDeleteResponse","exampleIds":["paths/~1api~1admin~1categories~1{categoryId}/delete/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CategoryDeleteResponse","exampleIds":["paths/~1api~1admin~1categories~1{categoryId}/delete/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1categories~1{categoryId}/delete/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1categories~1{categoryId}/delete/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1categories~1{categoryId}/delete/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1categories~1{categoryId}/delete/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1categories~1{categoryId}/delete/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1categories~1{categoryId}/delete/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1categories~1{categoryId}/delete/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1categories~1{categoryId}/delete/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1categories~1{categoryId}/delete/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1categories~1{categoryId}/delete/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1categories~1{categoryId}/delete/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1categories~1{categoryId}/delete/responses/404/content/application~1json/examples/not_found"]}}},{"code":"409","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1categories~1{categoryId}/delete/responses/409/content/application~1json/examples/conflict"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1categories~1{categoryId}/delete/responses/409/content/application~1json/examples/conflict"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/admin-panel-kategorii/paths/~1api~1admin~1categories~1{categoryid}/delete"}],"panels":[]}]},"httpPath":"/api/admin/categories/{categoryId}"},{"label":"Получить прямые подкатегории для админ-панели","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/admin-panel-kategorii/paths/~1api~1admin~1categories~1{categoryid}~1subcategories/get","routeSlug":"/openapi/admin-panel-kategorii/paths/~1api~1admin~1categories~1{categoryid}~1subcategories/get","metadata":{"seo":{"title":"Получить прямые подкатегории для админ-панели","description":"Возвращает прямые дочерние категории выбранной категории с количеством их дочернихкатегорий и услуг. Требуется роль ADMIN и доступ CATEGORIES уровня READ или FULL."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить прямые подкатегории для админ-панели","isWebhook":false,"pointer":"/paths/~1api~1admin~1categories~1{categoryId}~1subcategories/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить прямые подкатегории для админ-панели","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает прямые дочерние категории выбранной категории с количеством их дочерних"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"категорий и услуг. Требуется роль "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ADMIN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и доступ CATEGORIES уровня READ или FULL."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"categoryId","in":"path","schemaId":"schema_97","required":true}],"pointer":"/paths/~1api~1admin~1categories~1{categoryId}~1subcategories/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/admin/categories/{categoryId}/subcategories","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"categoryId","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","401","403","404"],"pointer":"/api/admin/categories/{categoryId}/subcategories","href":"admin-panel-kategorii/paths/~1api~1admin~1categories~1{categoryid}~1subcategories/get","summary":"Получить прямые подкатегории для админ-панели","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Подкатегории успешно получены"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminCategoryListResponse","exampleIds":["paths/~1api~1admin~1categories~1{categoryId}~1subcategories/get/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/AdminCategoryListResponse","exampleIds":["paths/~1api~1admin~1categories~1{categoryId}~1subcategories/get/responses/200/content/application~1json/example"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1categories~1{categoryId}~1subcategories/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1categories~1{categoryId}~1subcategories/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1categories~1{categoryId}~1subcategories/get/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1categories~1{categoryId}~1subcategories/get/responses/403/content/application~1json/examples/forbidden"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрошенный ресурс не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1categories~1{categoryId}~1subcategories/get/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1categories~1{categoryId}~1subcategories/get/responses/404/content/application~1json/examples/not_found"]}],"pointer":"/paths/~1api~1admin~1categories~1{categoryId}~1subcategories/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/AdminCategoryListResponse","exampleIds":["paths/~1api~1admin~1categories~1{categoryId}~1subcategories/get/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminCategoryListResponse","exampleIds":["paths/~1api~1admin~1categories~1{categoryId}~1subcategories/get/responses/200/content/application~1json/example"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1categories~1{categoryId}~1subcategories/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1categories~1{categoryId}~1subcategories/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1categories~1{categoryId}~1subcategories/get/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1categories~1{categoryId}~1subcategories/get/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1categories~1{categoryId}~1subcategories/get/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1categories~1{categoryId}~1subcategories/get/responses/404/content/application~1json/examples/not_found"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/admin-panel-kategorii/paths/~1api~1admin~1categories~1{categoryid}~1subcategories/get"}],"panels":[]}]},"httpPath":"/api/admin/categories/{categoryId}/subcategories"}],"content":{"contentType":"group","meta":{"name":"Админ-панель — категории"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Админ-панель — категории","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Управление категориями и подкатегориями услуг."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/api/admin/categories","summary":"Получить корневые категории для админ-панели","prefix":{"name":"get","color":"get"},"badges":[],"link":"/admin-panel-kategorii/paths/~1api~1admin~1categories/get","deprecated":false},{"title":"/api/admin/categories","summary":"Создать категорию из админ-панели","prefix":{"name":"post","color":"post"},"badges":[],"link":"/admin-panel-kategorii/paths/~1api~1admin~1categories/post","deprecated":false},{"title":"/api/admin/categories/{categoryId}","summary":"Изменить категорию из админ-панели","prefix":{"name":"patch","color":"patch"},"badges":[],"link":"/admin-panel-kategorii/paths/~1api~1admin~1categories~1{categoryid}/patch","deprecated":false},{"title":"/api/admin/categories/{categoryId}","summary":"Удалить категорию из админ-панели","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/admin-panel-kategorii/paths/~1api~1admin~1categories~1{categoryid}/delete","deprecated":false},{"title":"/api/admin/categories/{categoryId}/subcategories","summary":"Получить прямые подкатегории для админ-панели","prefix":{"name":"get","color":"get"},"badges":[],"link":"/admin-panel-kategorii/paths/~1api~1admin~1categories~1{categoryid}~1subcategories/get","deprecated":false}]}]}]}]}},{"type":"group","label":"Админ-панель — реферальная программа","link":"/openapi/admin-panel-referalnaya-programma","routeSlug":"/openapi/admin-panel-referalnaya-programma","items":[{"label":"Получить статистику реферальной программы","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/admin-panel-referalnaya-programma/paths/~1api~1admin~1referral~1stats/get","routeSlug":"/openapi/admin-panel-referalnaya-programma/paths/~1api~1admin~1referral~1stats/get","metadata":{"seo":{"title":"Получить статистику реферальной программы","description":"Возвращает количество зарегистрированных рефералов, их конверсию и количество активныхамбассадоров за выбранный период. Изменения сравниваются с непосредственно предшествующимпериодом такой же продолжительности. Для конверсии изменение возвращается в процентных пунктах.Требуется роль ADMIN и доступ REFERRAL_PROGRAM уровня READ или FULL."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить статистику реферальной программы","isWebhook":false,"pointer":"/paths/~1api~1admin~1referral~1stats/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить статистику реферальной программы","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает количество зарегистрированных рефералов, их конверсию и количество активных"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"амбассадоров за выбранный период. Изменения сравниваются с непосредственно предшествующим"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"периодом такой же продолжительности. Для конверсии изменение возвращается в процентных пунктах."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требуется роль "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ADMIN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и доступ REFERRAL_PROGRAM уровня READ или FULL."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"from","in":"query","schemaId":"schema_99","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Первый день выбранного периода включительно."},"children":[]}]}]}],"required":true},{"name":"to","in":"query","schemaId":"schema_99","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Последний день выбранного периода включительно."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1admin~1referral~1stats/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/admin/referral/stats","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[{"name":"from","in":"query","required":true,"schemaId":"schema_99"},{"name":"to","in":"query","required":true,"schemaId":"schema_99"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403"],"pointer":"/api/admin/referral/stats","href":"admin-panel-referalnaya-programma/paths/~1api~1admin~1referral~1stats/get","summary":"Получить статистику реферальной программы","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Статистика реферальной программы успешно получена"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminReferralStatsResponse","exampleIds":["paths/~1api~1admin~1referral~1stats/get/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/AdminReferralStatsResponse","exampleIds":["paths/~1api~1admin~1referral~1stats/get/responses/200/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Параметры периода статистики отсутствуют, перепутаны местами или выходят за поддерживаемые границы"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1referral~1stats/get/responses/400/content/application~1json/examples/missing_period","paths/~1api~1admin~1referral~1stats/get/responses/400/content/application~1json/examples/invalid_order","paths/~1api~1admin~1referral~1stats/get/responses/400/content/application~1json/examples/unsupported_boundaries"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1referral~1stats/get/responses/400/content/application~1json/examples/missing_period","paths/~1api~1admin~1referral~1stats/get/responses/400/content/application~1json/examples/invalid_order","paths/~1api~1admin~1referral~1stats/get/responses/400/content/application~1json/examples/unsupported_boundaries"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1referral~1stats/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1referral~1stats/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Нет роли "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ADMIN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" или недостаточно прав на соответствующий раздел админ-панели"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1referral~1stats/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1referral~1stats/get/responses/403/content/application~1json/examples/admin_role_required"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1referral~1stats/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1referral~1stats/get/responses/403/content/application~1json/examples/admin_role_required"]}],"pointer":"/paths/~1api~1admin~1referral~1stats/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/AdminReferralStatsResponse","exampleIds":["paths/~1api~1admin~1referral~1stats/get/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminReferralStatsResponse","exampleIds":["paths/~1api~1admin~1referral~1stats/get/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1referral~1stats/get/responses/400/content/application~1json/examples/missing_period","paths/~1api~1admin~1referral~1stats/get/responses/400/content/application~1json/examples/invalid_order","paths/~1api~1admin~1referral~1stats/get/responses/400/content/application~1json/examples/unsupported_boundaries"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1referral~1stats/get/responses/400/content/application~1json/examples/missing_period","paths/~1api~1admin~1referral~1stats/get/responses/400/content/application~1json/examples/invalid_order","paths/~1api~1admin~1referral~1stats/get/responses/400/content/application~1json/examples/unsupported_boundaries"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1referral~1stats/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1referral~1stats/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1referral~1stats/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1referral~1stats/get/responses/403/content/application~1json/examples/admin_role_required"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1referral~1stats/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1referral~1stats/get/responses/403/content/application~1json/examples/admin_role_required"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/admin-panel-referalnaya-programma/paths/~1api~1admin~1referral~1stats/get"}],"panels":[]}]},"httpPath":"/api/admin/referral/stats"},{"label":"Получить данные графика выгоды реферальной системы","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/admin-panel-referalnaya-programma/paths/~1api~1admin~1referral~1profit/get","routeSlug":"/openapi/admin-panel-referalnaya-programma/paths/~1api~1admin~1referral~1profit/get","metadata":{"seo":{"title":"Получить данные графика выгоды реферальной системы","description":"Возвращает по каждому календарному дню выбранного периода комиссию платформы и стоимостьприменённых реферальных скидок. earned_amount — комиссия 15% от итоговой стоимости завершённыхзаписей клиентов, зарегистрированных по реферальной ссылке. spent_amount — фактическая суммаприменённых реферальных скидок в завершённых записях. Дни без операций возвращаются с нулевымизначениями. Максимальная продолжительность периода — 366 дней.Требуется роль ADMIN и доступ REFERRAL_PROGRAM уровня READ или FULL."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить данные графика выгоды реферальной системы","isWebhook":false,"pointer":"/paths/~1api~1admin~1referral~1profit/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить данные графика выгоды реферальной системы","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает по каждому календарному дню выбранного периода комиссию платформы и стоимость"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"применённых реферальных скидок. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"earned_amount"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — комиссия 15% от итоговой стоимости завершённых"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"записей клиентов, зарегистрированных по реферальной ссылке. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"spent_amount"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — фактическая сумма"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"применённых реферальных скидок в завершённых записях. Дни без операций возвращаются с нулевыми"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"значениями. Максимальная продолжительность периода — 366 дней."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требуется роль "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ADMIN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и доступ REFERRAL_PROGRAM уровня READ или FULL."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"from","in":"query","schemaId":"schema_99","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Первый день графика включительно."},"children":[]}]}]}],"required":true},{"name":"to","in":"query","schemaId":"schema_99","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Последний день графика включительно; период не должен превышать 366 дней."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1admin~1referral~1profit/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/admin/referral/profit","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[{"name":"from","in":"query","required":true,"schemaId":"schema_99"},{"name":"to","in":"query","required":true,"schemaId":"schema_99"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403"],"pointer":"/api/admin/referral/profit","href":"admin-panel-referalnaya-programma/paths/~1api~1admin~1referral~1profit/get","summary":"Получить данные графика выгоды реферальной системы","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Данные графика выгоды успешно получены"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminReferralProfitResponse","exampleIds":["paths/~1api~1admin~1referral~1profit/get/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/AdminReferralProfitResponse","exampleIds":["paths/~1api~1admin~1referral~1profit/get/responses/200/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Параметры периода графика отсутствуют, некорректны либо период превышает 366 дней"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1referral~1profit/get/responses/400/content/application~1json/examples/missing_period","paths/~1api~1admin~1referral~1profit/get/responses/400/content/application~1json/examples/invalid_order","paths/~1api~1admin~1referral~1profit/get/responses/400/content/application~1json/examples/unsupported_boundaries","paths/~1api~1admin~1referral~1profit/get/responses/400/content/application~1json/examples/profit_period_too_long"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1referral~1profit/get/responses/400/content/application~1json/examples/missing_period","paths/~1api~1admin~1referral~1profit/get/responses/400/content/application~1json/examples/invalid_order","paths/~1api~1admin~1referral~1profit/get/responses/400/content/application~1json/examples/unsupported_boundaries","paths/~1api~1admin~1referral~1profit/get/responses/400/content/application~1json/examples/profit_period_too_long"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1referral~1profit/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1referral~1profit/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Нет роли "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ADMIN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" или недостаточно прав на соответствующий раздел админ-панели"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1referral~1profit/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1referral~1profit/get/responses/403/content/application~1json/examples/admin_role_required"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1referral~1profit/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1referral~1profit/get/responses/403/content/application~1json/examples/admin_role_required"]}],"pointer":"/paths/~1api~1admin~1referral~1profit/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/AdminReferralProfitResponse","exampleIds":["paths/~1api~1admin~1referral~1profit/get/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminReferralProfitResponse","exampleIds":["paths/~1api~1admin~1referral~1profit/get/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1referral~1profit/get/responses/400/content/application~1json/examples/missing_period","paths/~1api~1admin~1referral~1profit/get/responses/400/content/application~1json/examples/invalid_order","paths/~1api~1admin~1referral~1profit/get/responses/400/content/application~1json/examples/unsupported_boundaries","paths/~1api~1admin~1referral~1profit/get/responses/400/content/application~1json/examples/profit_period_too_long"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1referral~1profit/get/responses/400/content/application~1json/examples/missing_period","paths/~1api~1admin~1referral~1profit/get/responses/400/content/application~1json/examples/invalid_order","paths/~1api~1admin~1referral~1profit/get/responses/400/content/application~1json/examples/unsupported_boundaries","paths/~1api~1admin~1referral~1profit/get/responses/400/content/application~1json/examples/profit_period_too_long"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1referral~1profit/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1referral~1profit/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1referral~1profit/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1referral~1profit/get/responses/403/content/application~1json/examples/admin_role_required"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1referral~1profit/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1referral~1profit/get/responses/403/content/application~1json/examples/admin_role_required"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/admin-panel-referalnaya-programma/paths/~1api~1admin~1referral~1profit/get"}],"panels":[]}]},"httpPath":"/api/admin/referral/profit"},{"label":"Получить правила реферальной программы","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/admin-panel-referalnaya-programma/paths/~1api~1admin~1referral~1rules/get","routeSlug":"/openapi/admin-panel-referalnaya-programma/paths/~1api~1admin~1referral~1rules/get","metadata":{"seo":{"title":"Получить правила реферальной программы","description":"Возвращает для админ-панели все правила реферальной программы, включая отключённые,в порядке sort_order и ID. Требуется роль ADMIN и доступ REFERRAL_PROGRAMуровня READ или FULL. При передаче target_type правила можно получить отдельнодля друзей (CLIENT) или мастеров/салонов (BUSINESS). offset и limit задаютпагинацию."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить правила реферальной программы","isWebhook":false,"pointer":"/paths/~1api~1admin~1referral~1rules/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить правила реферальной программы","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает для админ-панели все правила реферальной программы, включая отключённые,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"в порядке "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"sort_order"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и ID. Требуется роль "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ADMIN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и доступ REFERRAL_PROGRAM"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"уровня READ или FULL. При передаче "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"target_type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" правила можно получить отдельно"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"для друзей ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CLIENT"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") или мастеров/салонов ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"BUSINESS"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"offset"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"limit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" задают"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"пагинацию."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"target_type","in":"query","schemaId":"schema_104"},{"name":"offset","in":"query","schemaId":"schema_92"},{"name":"limit","in":"query","schemaId":"schema_101"}],"pointer":"/paths/~1api~1admin~1referral~1rules/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/admin/referral/rules","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[{"name":"target_type","in":"query","required":false,"schemaId":"schema_104"},{"name":"offset","in":"query","required":false,"schemaId":"schema_92"},{"name":"limit","in":"query","required":false,"schemaId":"schema_101"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","401","403"],"pointer":"/api/admin/referral/rules","href":"admin-panel-referalnaya-programma/paths/~1api~1admin~1referral~1rules/get","summary":"Получить правила реферальной программы","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Правила реферальной программы"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminReferralRulesResponse","exampleIds":["paths/~1api~1admin~1referral~1rules/get/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/AdminReferralRulesResponse","exampleIds":["paths/~1api~1admin~1referral~1rules/get/responses/200/content/application~1json/example"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1referral~1rules/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1referral~1rules/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1referral~1rules/get/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1referral~1rules/get/responses/403/content/application~1json/examples/forbidden"]}],"pointer":"/paths/~1api~1admin~1referral~1rules/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/AdminReferralRulesResponse","exampleIds":["paths/~1api~1admin~1referral~1rules/get/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminReferralRulesResponse","exampleIds":["paths/~1api~1admin~1referral~1rules/get/responses/200/content/application~1json/example"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1referral~1rules/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1referral~1rules/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1referral~1rules/get/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1referral~1rules/get/responses/403/content/application~1json/examples/forbidden"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/admin-panel-referalnaya-programma/paths/~1api~1admin~1referral~1rules/get"}],"panels":[]}]},"httpPath":"/api/admin/referral/rules"},{"label":"Изменить награду реферального правила","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/admin-panel-referalnaya-programma/paths/~1api~1admin~1referral~1rules~1{ruleid}/patch","routeSlug":"/openapi/admin-panel-referalnaya-programma/paths/~1api~1admin~1referral~1rules~1{ruleid}/patch","metadata":{"seo":{"title":"Изменить награду реферального правила","description":"Изменяет только reward_percent и reward_interval; оба поля обязательны.reward_percent должен быть от 0 до 100. Значение ALL_SERVICES означает постояннуюскидку, а NEXT_SERVICE — купон на следующую услугу. Уровень, тип приглашённого,триггер, текст отображения, состояние правила и порог рефералов не изменяются."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Изменить награду реферального правила","isWebhook":false,"pointer":"/paths/~1api~1admin~1referral~1rules~1{ruleId}/patch","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Изменить награду реферального правила","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Изменяет только "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"reward_percent"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"reward_interval"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; оба поля обязательны."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"reward_percent"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" должен быть от 0 до 100. Значение "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ALL_SERVICES"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" означает постоянную"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"скидку, а "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"NEXT_SERVICE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — купон на следующую услугу. Уровень, тип приглашённого,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"триггер, текст отображения, состояние правила и порог рефералов не изменяются."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Для правила с "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"target_type = BUSINESS"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" сервер всегда сохраняет постоянную скидку:"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"переданное значение "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"NEXT_SERVICE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" принимается, но преобразуется в "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ALL_SERVICES"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":","},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"а "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"reward_type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" остаётся "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"PERMANENT_DISCOUNT"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Бизнес-реферал не выдаёт купон."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требуется роль "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ADMIN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и доступ REFERRAL_PROGRAM уровня FULL."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"ruleId","in":"path","schemaId":"schema_97","required":true}],"pointer":"/paths/~1api~1admin~1referral~1rules~1{ruleId}/patch/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/AdminReferralRuleUpdate","exampleIds":["paths/~1api~1admin~1referral~1rules~1{ruleId}/patch/requestBody/content/application~1json/example"]}},"schemaId":"components/schemas/AdminReferralRuleUpdate","exampleIds":["paths/~1api~1admin~1referral~1rules~1{ruleId}/patch/requestBody/content/application~1json/example"],"pointer":"/paths/~1api~1admin~1referral~1rules~1{ruleId}/patch/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PATCH","path":"/api/admin/referral/rules/{ruleId}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"ruleId","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/AdminReferralRuleUpdate","exampleIds":["paths/~1api~1admin~1referral~1rules~1{ruleId}/patch/requestBody/content/application~1json/example"]}},"responseCodes":["200","400","401","403","404"],"pointer":"/api/admin/referral/rules/{ruleId}","href":"admin-panel-referalnaya-programma/paths/~1api~1admin~1referral~1rules~1{ruleid}/patch","summary":"Изменить награду реферального правила","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/AdminReferralRuleUpdate","exampleIds":["paths/~1api~1admin~1referral~1rules~1{ruleId}/patch/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/AdminReferralRuleUpdate","exampleIds":["paths/~1api~1admin~1referral~1rules~1{ruleId}/patch/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Изменённое реферальное правило"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminReferralRuleResponse","exampleIds":["paths/~1api~1admin~1referral~1rules~1{ruleId}/patch/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/AdminReferralRuleResponse","exampleIds":["paths/~1api~1admin~1referral~1rules~1{ruleId}/patch/responses/200/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1referral~1rules~1{ruleId}/patch/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1referral~1rules~1{ruleId}/patch/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1referral~1rules~1{ruleId}/patch/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1referral~1rules~1{ruleId}/patch/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1referral~1rules~1{ruleId}/patch/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1referral~1rules~1{ruleId}/patch/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1referral~1rules~1{ruleId}/patch/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1referral~1rules~1{ruleId}/patch/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1referral~1rules~1{ruleId}/patch/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1referral~1rules~1{ruleId}/patch/responses/403/content/application~1json/examples/forbidden"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрошенный ресурс не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1referral~1rules~1{ruleId}/patch/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1referral~1rules~1{ruleId}/patch/responses/404/content/application~1json/examples/not_found"]}],"pointer":"/paths/~1api~1admin~1referral~1rules~1{ruleId}/patch/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/AdminReferralRuleResponse","exampleIds":["paths/~1api~1admin~1referral~1rules~1{ruleId}/patch/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminReferralRuleResponse","exampleIds":["paths/~1api~1admin~1referral~1rules~1{ruleId}/patch/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1referral~1rules~1{ruleId}/patch/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1referral~1rules~1{ruleId}/patch/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1referral~1rules~1{ruleId}/patch/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1referral~1rules~1{ruleId}/patch/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1referral~1rules~1{ruleId}/patch/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1referral~1rules~1{ruleId}/patch/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1referral~1rules~1{ruleId}/patch/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1referral~1rules~1{ruleId}/patch/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1referral~1rules~1{ruleId}/patch/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1referral~1rules~1{ruleId}/patch/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1referral~1rules~1{ruleId}/patch/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1referral~1rules~1{ruleId}/patch/responses/404/content/application~1json/examples/not_found"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/admin-panel-referalnaya-programma/paths/~1api~1admin~1referral~1rules~1{ruleid}/patch"}],"panels":[]}]},"httpPath":"/api/admin/referral/rules/{ruleId}"}],"content":{"contentType":"group","meta":{"name":"Админ-панель — реферальная программа"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Админ-панель — реферальная программа","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Статистика, график выгоды и правила реферальной программы."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/api/admin/referral/stats","summary":"Получить статистику реферальной программы","prefix":{"name":"get","color":"get"},"badges":[],"link":"/admin-panel-referalnaya-programma/paths/~1api~1admin~1referral~1stats/get","deprecated":false},{"title":"/api/admin/referral/profit","summary":"Получить данные графика выгоды реферальной системы","prefix":{"name":"get","color":"get"},"badges":[],"link":"/admin-panel-referalnaya-programma/paths/~1api~1admin~1referral~1profit/get","deprecated":false},{"title":"/api/admin/referral/rules","summary":"Получить правила реферальной программы","prefix":{"name":"get","color":"get"},"badges":[],"link":"/admin-panel-referalnaya-programma/paths/~1api~1admin~1referral~1rules/get","deprecated":false},{"title":"/api/admin/referral/rules/{ruleId}","summary":"Изменить награду реферального правила","prefix":{"name":"patch","color":"patch"},"badges":[],"link":"/admin-panel-referalnaya-programma/paths/~1api~1admin~1referral~1rules~1{ruleid}/patch","deprecated":false}]}]}]}]}},{"type":"group","label":"Админ-панель — клиенты","link":"/openapi/admin-panel-klienty","routeSlug":"/openapi/admin-panel-klienty","items":[{"label":"Получить список клиентов с пагинацией","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/admin-panel-klienty/paths/~1api~1admin~1clients/get","routeSlug":"/openapi/admin-panel-klienty/paths/~1api~1admin~1clients/get","metadata":{"seo":{"title":"Получить список клиентов с пагинацией","description":"Возвращает клиентов с фильтрацией по периоду, поисковой строке, городу и статусу, а также с сортировкой."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить список клиентов с пагинацией","isWebhook":false,"pointer":"/paths/~1api~1admin~1clients/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить список клиентов с пагинацией","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает клиентов с фильтрацией по периоду, поисковой строке, городу и статусу, а также с сортировкой."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"from","in":"query","schemaId":"schema_99","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Начало периода включительно"},"children":[]}]}]}],"required":true},{"name":"to","in":"query","schemaId":"schema_99","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Конец периода включительно"},"children":[]}]}]}],"required":true},{"name":"query","in":"query","schemaId":"schema_100"},{"name":"city","in":"query","schemaId":"schema_105","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Фильтр по городам. Параметр можно передать несколько раз;"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"клиент попадёт в результат, если его город совпадает хотя бы"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"с одним из выбранных городов."},"children":[]}]}]}],"example":["Москва","Санкт-Петербург"]},{"name":"status","in":"query","schemaId":"schema_106"},{"name":"offset","in":"query","schemaId":"schema_92"},{"name":"limit","in":"query","schemaId":"schema_101"},{"name":"sort","in":"query","schemaId":"schema_107","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Повторяемый параметр сортировки, например "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"registered_at:desc"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}],"pointer":"/paths/~1api~1admin~1clients/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/admin/clients","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[{"name":"from","in":"query","required":true,"schemaId":"schema_99"},{"name":"to","in":"query","required":true,"schemaId":"schema_99"},{"name":"query","in":"query","required":false,"schemaId":"schema_100"},{"name":"city","in":"query","required":false,"example":["Москва","Санкт-Петербург"],"schemaId":"schema_105","style":"form","explode":true},{"name":"status","in":"query","required":false,"schemaId":"schema_106","style":"form","explode":true},{"name":"offset","in":"query","required":false,"schemaId":"schema_92"},{"name":"limit","in":"query","required":false,"schemaId":"schema_101"},{"name":"sort","in":"query","required":false,"schemaId":"schema_107"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403"],"pointer":"/api/admin/clients","href":"admin-panel-klienty/paths/~1api~1admin~1clients/get","summary":"Получить список клиентов с пагинацией","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Список клиентов"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminClientListResponse","exampleIds":["paths/~1api~1admin~1clients/get/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/AdminClientListResponse","exampleIds":["paths/~1api~1admin~1clients/get/responses/200/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1clients/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1clients/get/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1clients/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1clients/get/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients/get/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients/get/responses/403/content/application~1json/examples/forbidden"]}],"pointer":"/paths/~1api~1admin~1clients/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/AdminClientListResponse","exampleIds":["paths/~1api~1admin~1clients/get/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminClientListResponse","exampleIds":["paths/~1api~1admin~1clients/get/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1clients/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1clients/get/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1clients/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1clients/get/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients/get/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients/get/responses/403/content/application~1json/examples/forbidden"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/admin-panel-klienty/paths/~1api~1admin~1clients/get"}],"panels":[]}]},"httpPath":"/api/admin/clients"},{"label":"Получить список чатов клиента","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/admin-panel-klienty/paths/~1api~1admin~1clients~1{clientid}~1chats/get","routeSlug":"/openapi/admin-panel-klienty/paths/~1api~1admin~1clients~1{clientid}~1chats/get","metadata":{"seo":{"title":"Получить список чатов клиента","description":"Возвращает список личных диалогов клиента, отсортированный по временипоследнего сообщения от нового к старому. Для постраничной загрузкииспользуются параметры offset и limit."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить список чатов клиента","isWebhook":false,"pointer":"/paths/~1api~1admin~1clients~1{clientId}~1chats/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить список чатов клиента","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает список личных диалогов клиента, отсортированный по времени"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"последнего сообщения от нового к старому. Для постраничной загрузки"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"используются параметры "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"offset"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"limit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"clientId","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор клиента"},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1admin~1clients~1{clientId}~1chats/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"offset","in":"query","schemaId":"schema_92","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Количество чатов, которое нужно пропустить"},"children":[]}]}]}]},{"name":"limit","in":"query","schemaId":"schema_101","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Максимальное количество чатов в ответе"},"children":[]}]}]}]}],"pointer":"/paths/~1api~1admin~1clients~1{clientId}~1chats/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/admin/clients/{clientId}/chats","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"clientId","in":"path","required":true,"schemaId":"schema_97"}],"query":[{"name":"offset","in":"query","required":false,"schemaId":"schema_92"},{"name":"limit","in":"query","required":false,"schemaId":"schema_101"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403"],"pointer":"/api/admin/clients/{clientId}/chats","href":"admin-panel-klienty/paths/~1api~1admin~1clients~1{clientid}~1chats/get","summary":"Получить список чатов клиента","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Список чатов клиента"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminClientChatListResponse","exampleIds":["paths/~1api~1admin~1clients~1{clientId}~1chats/get/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/AdminClientChatListResponse","exampleIds":["paths/~1api~1admin~1clients~1{clientId}~1chats/get/responses/200/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{clientId}~1chats/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1clients~1{clientId}~1chats/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1clients~1{clientId}~1chats/get/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{clientId}~1chats/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1clients~1{clientId}~1chats/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1clients~1{clientId}~1chats/get/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{clientId}~1chats/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{clientId}~1chats/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{clientId}~1chats/get/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{clientId}~1chats/get/responses/403/content/application~1json/examples/forbidden"]}],"pointer":"/paths/~1api~1admin~1clients~1{clientId}~1chats/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/AdminClientChatListResponse","exampleIds":["paths/~1api~1admin~1clients~1{clientId}~1chats/get/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminClientChatListResponse","exampleIds":["paths/~1api~1admin~1clients~1{clientId}~1chats/get/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{clientId}~1chats/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1clients~1{clientId}~1chats/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1clients~1{clientId}~1chats/get/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{clientId}~1chats/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1clients~1{clientId}~1chats/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1clients~1{clientId}~1chats/get/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{clientId}~1chats/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{clientId}~1chats/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{clientId}~1chats/get/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{clientId}~1chats/get/responses/403/content/application~1json/examples/forbidden"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/admin-panel-klienty/paths/~1api~1admin~1clients~1{clientid}~1chats/get"}],"panels":[]}]},"httpPath":"/api/admin/clients/{clientId}/chats"},{"label":"Получить историю чата клиента","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/admin-panel-klienty/paths/~1api~1admin~1clients~1chats~1{dialogid}~1messages/get","routeSlug":"/openapi/admin-panel-klienty/paths/~1api~1admin~1clients~1chats~1{dialogid}~1messages/get","metadata":{"seo":{"title":"Получить историю чата клиента","description":"Возвращает историю личного чата между клиентом и мастером или салоном.Чаты с системной поддержкой недоступны и возвращают 403 Forbidden."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить историю чата клиента","isWebhook":false,"pointer":"/paths/~1api~1admin~1clients~1chats~1{dialogId}~1messages/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить историю чата клиента","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает историю личного чата между клиентом и мастером или салоном."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Чаты с системной поддержкой недоступны и возвращают "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"403 Forbidden"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Для cursor-пагинации первый запрос выполняется без "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"beforeId"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", следующий —"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"с "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"next_before_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" из предыдущего ответа. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"offset"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" поддерживается для"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"обратной совместимости и не может использоваться вместе с "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"beforeId"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"dialogId","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор диалога"},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1admin~1clients~1chats~1{dialogId}~1messages/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"beforeId","in":"query","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Вернуть сообщения с идентификатором меньше указанного"},"children":[]}]}]}]},{"name":"offset","in":"query","schemaId":"schema_108","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Количество сообщений, которое нужно пропустить"},"children":[]}]}]}]},{"name":"limit","in":"query","schemaId":"schema_109","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Максимальное количество сообщений в ответе"},"children":[]}]}]}]}],"pointer":"/paths/~1api~1admin~1clients~1chats~1{dialogId}~1messages/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/admin/clients/chats/{dialogId}/messages","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"dialogId","in":"path","required":true,"schemaId":"schema_97"}],"query":[{"name":"beforeId","in":"query","required":false,"schemaId":"schema_97"},{"name":"offset","in":"query","required":false,"schemaId":"schema_108"},{"name":"limit","in":"query","required":false,"schemaId":"schema_109"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403","404"],"pointer":"/api/admin/clients/chats/{dialogId}/messages","href":"admin-panel-klienty/paths/~1api~1admin~1clients~1chats~1{dialogid}~1messages/get","summary":"Получить историю чата клиента","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"История чата успешно получена"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminClientChatHistoryResponse","exampleIds":["paths/~1api~1admin~1clients~1chats~1{dialogId}~1messages/get/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/AdminClientChatHistoryResponse","exampleIds":["paths/~1api~1admin~1clients~1chats~1{dialogId}~1messages/get/responses/200/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1chats~1{dialogId}~1messages/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1clients~1chats~1{dialogId}~1messages/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1clients~1chats~1{dialogId}~1messages/get/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1chats~1{dialogId}~1messages/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1clients~1chats~1{dialogId}~1messages/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1clients~1chats~1{dialogId}~1messages/get/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1chats~1{dialogId}~1messages/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1chats~1{dialogId}~1messages/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1chats~1{dialogId}~1messages/get/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1chats~1{dialogId}~1messages/get/responses/403/content/application~1json/examples/forbidden"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрошенный ресурс не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1chats~1{dialogId}~1messages/get/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1chats~1{dialogId}~1messages/get/responses/404/content/application~1json/examples/not_found"]}],"pointer":"/paths/~1api~1admin~1clients~1chats~1{dialogId}~1messages/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/AdminClientChatHistoryResponse","exampleIds":["paths/~1api~1admin~1clients~1chats~1{dialogId}~1messages/get/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminClientChatHistoryResponse","exampleIds":["paths/~1api~1admin~1clients~1chats~1{dialogId}~1messages/get/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1chats~1{dialogId}~1messages/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1clients~1chats~1{dialogId}~1messages/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1clients~1chats~1{dialogId}~1messages/get/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1chats~1{dialogId}~1messages/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1clients~1chats~1{dialogId}~1messages/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1clients~1chats~1{dialogId}~1messages/get/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1chats~1{dialogId}~1messages/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1chats~1{dialogId}~1messages/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1chats~1{dialogId}~1messages/get/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1chats~1{dialogId}~1messages/get/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1chats~1{dialogId}~1messages/get/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1chats~1{dialogId}~1messages/get/responses/404/content/application~1json/examples/not_found"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/admin-panel-klienty/paths/~1api~1admin~1clients~1chats~1{dialogid}~1messages/get"}],"panels":[]}]},"httpPath":"/api/admin/clients/chats/{dialogId}/messages"},{"label":"Получить возможные причины блокировки","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/admin-panel-klienty/paths/~1api~1admin~1block-reasons/get","routeSlug":"/openapi/admin-panel-klienty/paths/~1api~1admin~1block-reasons/get","metadata":{"seo":{"title":"Получить возможные причины блокировки","description":"Возвращает отдельный набор причин блокировки для клиента, мастера или салона.OTHER и «Другая причина» не возвращаются."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить возможные причины блокировки","isWebhook":false,"pointer":"/paths/~1api~1admin~1block-reasons/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить возможные причины блокировки","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает отдельный набор причин блокировки для клиента, мастера или салона."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"OTHER"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и «Другая причина» не возвращаются."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Наборы различаются:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CLIENT"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — 7 причин для клиента;"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"MASTER"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — 9 причин для мастера;"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SALON"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — 8 причин для салона."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Каждый элемент содержит название "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"reason"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", которое передаётся в endpoint"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"блокировки, и пояснение "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"description"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", предназначенное для интерфейса."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требуется роль "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ADMIN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"target","in":"query","schemaId":"schema_110","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Тип блокируемого объекта. Поддерживаются только "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CLIENT"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"MASTER"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SALON"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1admin~1block-reasons/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/admin/block-reasons","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[{"name":"target","in":"query","required":true,"schemaId":"schema_110"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403"],"pointer":"/api/admin/block-reasons","href":"admin-panel-klienty/paths/~1api~1admin~1block-reasons/get","summary":"Получить возможные причины блокировки","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возможные причины блокировки получены"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminBlockReasonsResponse","exampleIds":["paths/~1api~1admin~1block-reasons/get/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/AdminBlockReasonsResponse","exampleIds":["paths/~1api~1admin~1block-reasons/get/responses/200/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1block-reasons/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1block-reasons/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1block-reasons/get/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1block-reasons/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1block-reasons/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1block-reasons/get/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1block-reasons/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1block-reasons/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1block-reasons/get/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1block-reasons/get/responses/403/content/application~1json/examples/forbidden"]}],"pointer":"/paths/~1api~1admin~1block-reasons/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/AdminBlockReasonsResponse","exampleIds":["paths/~1api~1admin~1block-reasons/get/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminBlockReasonsResponse","exampleIds":["paths/~1api~1admin~1block-reasons/get/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1block-reasons/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1block-reasons/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1block-reasons/get/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1block-reasons/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1block-reasons/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1block-reasons/get/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1block-reasons/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1block-reasons/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1block-reasons/get/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1block-reasons/get/responses/403/content/application~1json/examples/forbidden"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/admin-panel-klienty/paths/~1api~1admin~1block-reasons/get"}],"panels":[]}]},"httpPath":"/api/admin/block-reasons"},{"label":"Получить статистику клиентов","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/admin-panel-klienty/paths/~1api~1admin~1clients~1stats/get","routeSlug":"/openapi/admin-panel-klienty/paths/~1api~1admin~1clients~1stats/get","metadata":{"seo":{"title":"Получить статистику клиентов","description":"Требуется роль ADMIN и доступ CLIENTS уровня READ или FULL."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить статистику клиентов","isWebhook":false,"pointer":"/paths/~1api~1admin~1clients~1stats/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить статистику клиентов","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требуется роль "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ADMIN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и доступ CLIENTS уровня READ или FULL."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"from","in":"query","schemaId":"schema_99","required":true},{"name":"to","in":"query","schemaId":"schema_99","required":true}],"pointer":"/paths/~1api~1admin~1clients~1stats/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/admin/clients/stats","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[{"name":"from","in":"query","required":true,"schemaId":"schema_99"},{"name":"to","in":"query","required":true,"schemaId":"schema_99"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403"],"pointer":"/api/admin/clients/stats","href":"admin-panel-klienty/paths/~1api~1admin~1clients~1stats/get","summary":"Получить статистику клиентов","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Статистика клиентов за запрошенный период"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminClientStatsResponse","exampleIds":["paths/~1api~1admin~1clients~1stats/get/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/AdminClientStatsResponse","exampleIds":["paths/~1api~1admin~1clients~1stats/get/responses/200/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1stats/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1clients~1stats/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1clients~1stats/get/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1stats/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1clients~1stats/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1clients~1stats/get/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1stats/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1stats/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1stats/get/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1stats/get/responses/403/content/application~1json/examples/forbidden"]}],"pointer":"/paths/~1api~1admin~1clients~1stats/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/AdminClientStatsResponse","exampleIds":["paths/~1api~1admin~1clients~1stats/get/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminClientStatsResponse","exampleIds":["paths/~1api~1admin~1clients~1stats/get/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1stats/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1clients~1stats/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1clients~1stats/get/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1stats/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1clients~1stats/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1clients~1stats/get/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1stats/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1stats/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1stats/get/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1stats/get/responses/403/content/application~1json/examples/forbidden"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/admin-panel-klienty/paths/~1api~1admin~1clients~1stats/get"}],"panels":[]}]},"httpPath":"/api/admin/clients/stats"},{"label":"Получить данные клиента","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/admin-panel-klienty/paths/~1api~1admin~1clients~1{id}/get","routeSlug":"/openapi/admin-panel-klienty/paths/~1api~1admin~1clients~1{id}/get","metadata":{"seo":{"title":"Получить данные клиента","description":"Возвращает текстовые данные клиента для административной панели.Требуется роль ADMIN и доступ CLIENTS READ или CLIENTS FULL."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить данные клиента","isWebhook":false,"pointer":"/paths/~1api~1admin~1clients~1{id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить данные клиента","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает текстовые данные клиента для административной панели."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требуется роль ADMIN и доступ CLIENTS READ или CLIENTS FULL."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_97","required":true}],"pointer":"/paths/~1api~1admin~1clients~1{id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/admin/clients/{id}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403","404"],"pointer":"/api/admin/clients/{id}","href":"admin-panel-klienty/paths/~1api~1admin~1clients~1{id}/get","summary":"Получить данные клиента","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Данные клиента"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminClientDetailsResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}/get/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/AdminClientDetailsResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}/get/responses/200/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1clients~1{id}/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1clients~1{id}/get/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1clients~1{id}/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1clients~1{id}/get/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}/get/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}/get/responses/403/content/application~1json/examples/forbidden"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрошенный ресурс не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}/get/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}/get/responses/404/content/application~1json/examples/not_found"]}],"pointer":"/paths/~1api~1admin~1clients~1{id}/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/AdminClientDetailsResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}/get/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminClientDetailsResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}/get/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1clients~1{id}/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1clients~1{id}/get/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1clients~1{id}/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1clients~1{id}/get/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}/get/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}/get/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}/get/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}/get/responses/404/content/application~1json/examples/not_found"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/admin-panel-klienty/paths/~1api~1admin~1clients~1{id}/get"}],"panels":[]}]},"httpPath":"/api/admin/clients/{id}"},{"label":"Изменить данные клиента","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/admin-panel-klienty/paths/~1api~1admin~1clients~1{id}/patch","routeSlug":"/openapi/admin-panel-klienty/paths/~1api~1admin~1clients~1{id}/patch","metadata":{"seo":{"title":"Изменить данные клиента","description":"Частично обновляет текстовые поля клиента."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Изменить данные клиента","isWebhook":false,"pointer":"/paths/~1api~1admin~1clients~1{id}/patch","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Изменить данные клиента","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Частично обновляет текстовые поля клиента."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Можно передать одно или несколько полей. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"avatar"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" через этот endpoint"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"не изменяется. Если передан "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"address"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", поле "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"geolocation"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" обязательно."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"geolocation"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" без "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"address"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" запрещена. Изменение только "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"city"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" не меняет"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"сохранённую геолокацию."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требуется роль ADMIN и доступ CLIENTS FULL."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_97","required":true}],"pointer":"/paths/~1api~1admin~1clients~1{id}/patch/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/AdminClientUpdateRequest"}},"schemaId":"components/schemas/AdminClientUpdateRequest","pointer":"/paths/~1api~1admin~1clients~1{id}/patch/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PATCH","path":"/api/admin/clients/{id}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/AdminClientUpdateRequest"}},"responseCodes":["200","400","401","403","404","409"],"pointer":"/api/admin/clients/{id}","href":"admin-panel-klienty/paths/~1api~1admin~1clients~1{id}/patch","summary":"Изменить данные клиента","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/AdminClientUpdateRequest","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/AdminClientUpdateRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Изменённые данные клиента"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminClientDetailsResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}/patch/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/AdminClientDetailsResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}/patch/responses/200/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}/patch/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1clients~1{id}/patch/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1clients~1{id}/patch/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}/patch/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1clients~1{id}/patch/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1clients~1{id}/patch/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}/patch/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}/patch/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}/patch/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}/patch/responses/403/content/application~1json/examples/forbidden"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрошенный ресурс не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}/patch/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}/patch/responses/404/content/application~1json/examples/not_found"]},{"code":"409","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Телефон или email уже используется"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"}],"pointer":"/paths/~1api~1admin~1clients~1{id}/patch/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/AdminClientDetailsResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}/patch/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminClientDetailsResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}/patch/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}/patch/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1clients~1{id}/patch/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1clients~1{id}/patch/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}/patch/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1clients~1{id}/patch/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1clients~1{id}/patch/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}/patch/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}/patch/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}/patch/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}/patch/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}/patch/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}/patch/responses/404/content/application~1json/examples/not_found"]}}},{"code":"409","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/admin-panel-klienty/paths/~1api~1admin~1clients~1{id}/patch"}],"panels":[]}]},"httpPath":"/api/admin/clients/{id}"},{"label":"Заблокировать клиента","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/admin-panel-klienty/paths/~1api~1admin~1clients~1{id}~1block/post","routeSlug":"/openapi/admin-panel-klienty/paths/~1api~1admin~1clients~1{id}~1block/post","metadata":{"seo":{"title":"Заблокировать клиента","description":"Блокирует клиента с указанной причиной. Возможные причины следует получитьчерез GET /api/admin/block-reasons?target=CLIENT."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Заблокировать клиента","isWebhook":false,"pointer":"/paths/~1api~1admin~1clients~1{id}~1block/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Заблокировать клиента","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Блокирует клиента с указанной причиной. Возможные причины следует получить"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"через "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET /api/admin/block-reasons?target=CLIENT"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор администратора, выполнившего действие, определяется из JWT"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"и сохраняется как "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"blocked_by"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; передавать его в body не нужно."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требуется роль "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ADMIN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и доступ CLIENTS уровня FULL."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_97","required":true}],"pointer":"/paths/~1api~1admin~1clients~1{id}~1block/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/AdminBlockRequest","exampleIds":["paths/~1api~1admin~1clients~1{id}~1block/post/requestBody/content/application~1json/example"]}},"schemaId":"components/schemas/AdminBlockRequest","exampleIds":["paths/~1api~1admin~1clients~1{id}~1block/post/requestBody/content/application~1json/example"],"pointer":"/paths/~1api~1admin~1clients~1{id}~1block/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/admin/clients/{id}/block","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/AdminBlockRequest","exampleIds":["paths/~1api~1admin~1clients~1{id}~1block/post/requestBody/content/application~1json/example"]}},"responseCodes":["200","400","401","403","404","409"],"pointer":"/api/admin/clients/{id}/block","href":"admin-panel-klienty/paths/~1api~1admin~1clients~1{id}~1block/post","summary":"Заблокировать клиента","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/AdminBlockRequest","exampleIds":["paths/~1api~1admin~1clients~1{id}~1block/post/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/AdminBlockRequest","exampleIds":["paths/~1api~1admin~1clients~1{id}~1block/post/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Клиент заблокирован"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminClientBlockResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}~1block/post/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/AdminClientBlockResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}~1block/post/responses/200/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}~1block/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1clients~1{id}~1block/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1clients~1{id}~1block/post/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}~1block/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1clients~1{id}~1block/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1clients~1{id}~1block/post/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}~1block/post/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}~1block/post/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}~1block/post/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}~1block/post/responses/403/content/application~1json/examples/forbidden"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрошенный ресурс не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}~1block/post/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}~1block/post/responses/404/content/application~1json/examples/not_found"]},{"code":"409","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Клиент уже заблокирован"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"}],"pointer":"/paths/~1api~1admin~1clients~1{id}~1block/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/AdminClientBlockResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}~1block/post/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminClientBlockResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}~1block/post/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}~1block/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1clients~1{id}~1block/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1clients~1{id}~1block/post/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}~1block/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1clients~1{id}~1block/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1clients~1{id}~1block/post/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}~1block/post/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}~1block/post/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}~1block/post/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}~1block/post/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}~1block/post/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}~1block/post/responses/404/content/application~1json/examples/not_found"]}}},{"code":"409","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/admin-panel-klienty/paths/~1api~1admin~1clients~1{id}~1block/post"}],"panels":[]}]},"httpPath":"/api/admin/clients/{id}/block"},{"label":"Разблокировать клиента","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/admin-panel-klienty/paths/~1api~1admin~1clients~1{id}~1unblock/post","routeSlug":"/openapi/admin-panel-klienty/paths/~1api~1admin~1clients~1{id}~1unblock/post","metadata":{"seo":{"title":"Разблокировать клиента","description":"Разблокирует клиента. Request body не передаётся.Данные последней блокировки сохраняются в БД как история, но для активногоклиента block_reason и blocked_by в REST-профиле возвращаются как null.Требуется роль ADMIN и доступ CLIENTS уровня FULL."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Разблокировать клиента","isWebhook":false,"pointer":"/paths/~1api~1admin~1clients~1{id}~1unblock/post","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Разблокировать клиента","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Разблокирует клиента. Request body не передаётся."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Данные последней блокировки сохраняются в БД как история, но для активного"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"клиента "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"block_reason"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"blocked_by"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" в REST-профиле возвращаются как "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требуется роль "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ADMIN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и доступ CLIENTS уровня FULL."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_97","required":true}],"pointer":"/paths/~1api~1admin~1clients~1{id}~1unblock/post/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/admin/clients/{id}/unblock","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403","404","409"],"pointer":"/api/admin/clients/{id}/unblock","href":"admin-panel-klienty/paths/~1api~1admin~1clients~1{id}~1unblock/post","summary":"Разблокировать клиента","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Клиент разблокирован"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminClientBlockResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}~1unblock/post/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/AdminClientBlockResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}~1unblock/post/responses/200/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}~1unblock/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1clients~1{id}~1unblock/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1clients~1{id}~1unblock/post/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}~1unblock/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1clients~1{id}~1unblock/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1clients~1{id}~1unblock/post/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}~1unblock/post/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}~1unblock/post/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}~1unblock/post/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}~1unblock/post/responses/403/content/application~1json/examples/forbidden"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрошенный ресурс не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}~1unblock/post/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}~1unblock/post/responses/404/content/application~1json/examples/not_found"]},{"code":"409","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрос конфликтует с текущим состоянием ресурса"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}~1unblock/post/responses/409/content/application~1json/examples/conflict"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}~1unblock/post/responses/409/content/application~1json/examples/conflict"]}],"pointer":"/paths/~1api~1admin~1clients~1{id}~1unblock/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/AdminClientBlockResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}~1unblock/post/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminClientBlockResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}~1unblock/post/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}~1unblock/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1clients~1{id}~1unblock/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1clients~1{id}~1unblock/post/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}~1unblock/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1clients~1{id}~1unblock/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1clients~1{id}~1unblock/post/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}~1unblock/post/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}~1unblock/post/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}~1unblock/post/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}~1unblock/post/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}~1unblock/post/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}~1unblock/post/responses/404/content/application~1json/examples/not_found"]}}},{"code":"409","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}~1unblock/post/responses/409/content/application~1json/examples/conflict"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1clients~1{id}~1unblock/post/responses/409/content/application~1json/examples/conflict"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/admin-panel-klienty/paths/~1api~1admin~1clients~1{id}~1unblock/post"}],"panels":[]}]},"httpPath":"/api/admin/clients/{id}/unblock"}],"content":{"contentType":"group","meta":{"name":"Админ-панель — клиенты"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Админ-панель — клиенты","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Просмотр, изменение, блокировка и статистика клиентов."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/api/admin/clients","summary":"Получить список клиентов с пагинацией","prefix":{"name":"get","color":"get"},"badges":[],"link":"/admin-panel-klienty/paths/~1api~1admin~1clients/get","deprecated":false},{"title":"/api/admin/clients/{clientId}/chats","summary":"Получить список чатов клиента","prefix":{"name":"get","color":"get"},"badges":[],"link":"/admin-panel-klienty/paths/~1api~1admin~1clients~1{clientid}~1chats/get","deprecated":false},{"title":"/api/admin/clients/chats/{dialogId}/messages","summary":"Получить историю чата клиента","prefix":{"name":"get","color":"get"},"badges":[],"link":"/admin-panel-klienty/paths/~1api~1admin~1clients~1chats~1{dialogid}~1messages/get","deprecated":false},{"title":"/api/admin/block-reasons","summary":"Получить возможные причины блокировки","prefix":{"name":"get","color":"get"},"badges":[],"link":"/admin-panel-klienty/paths/~1api~1admin~1block-reasons/get","deprecated":false},{"title":"/api/admin/clients/stats","summary":"Получить статистику клиентов","prefix":{"name":"get","color":"get"},"badges":[],"link":"/admin-panel-klienty/paths/~1api~1admin~1clients~1stats/get","deprecated":false},{"title":"/api/admin/clients/{id}","summary":"Получить данные клиента","prefix":{"name":"get","color":"get"},"badges":[],"link":"/admin-panel-klienty/paths/~1api~1admin~1clients~1{id}/get","deprecated":false},{"title":"/api/admin/clients/{id}","summary":"Изменить данные клиента","prefix":{"name":"patch","color":"patch"},"badges":[],"link":"/admin-panel-klienty/paths/~1api~1admin~1clients~1{id}/patch","deprecated":false},{"title":"/api/admin/clients/{id}/block","summary":"Заблокировать клиента","prefix":{"name":"post","color":"post"},"badges":[],"link":"/admin-panel-klienty/paths/~1api~1admin~1clients~1{id}~1block/post","deprecated":false},{"title":"/api/admin/clients/{id}/unblock","summary":"Разблокировать клиента","prefix":{"name":"post","color":"post"},"badges":[],"link":"/admin-panel-klienty/paths/~1api~1admin~1clients~1{id}~1unblock/post","deprecated":false}]}]}]}]}},{"type":"group","label":"Админ-панель — записи","link":"/openapi/admin-panel-zapisi","routeSlug":"/openapi/admin-panel-zapisi","items":[{"label":"Получить список записей","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/admin-panel-zapisi/paths/~1api~1admin~1records/get","routeSlug":"/openapi/admin-panel-zapisi/paths/~1api~1admin~1records/get","metadata":{"seo":{"title":"Получить список записей","description":"Возвращает записи за период с поиском по номеру записи, клиенту, мастеру,салону и услуге. Поддерживает фильтрацию по нескольким городам и статусам,сортировку через повторяемый параметр sort=field:direction, а также offset-пагинацию."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить список записей","isWebhook":false,"pointer":"/paths/~1api~1admin~1records/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить список записей","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает записи за период с поиском по номеру записи, клиенту, мастеру,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"салону и услуге. Поддерживает фильтрацию по нескольким городам и статусам,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"сортировку через повторяемый параметр "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"sort=field:direction"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", а также offset-пагинацию."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"from","in":"query","schemaId":"schema_99","required":true},{"name":"to","in":"query","schemaId":"schema_99","required":true},{"name":"query","in":"query","schemaId":"schema_100"},{"name":"city","in":"query","schemaId":"schema_105"},{"name":"status","in":"query","schemaId":"schema_111"},{"name":"offset","in":"query","schemaId":"schema_92"},{"name":"limit","in":"query","schemaId":"schema_101"},{"name":"sort","in":"query","schemaId":"schema_112","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Повторяемый параметр, например "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"sort=start_at:desc&sort=paid_at:asc"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}],"pointer":"/paths/~1api~1admin~1records/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/admin/records","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[{"name":"from","in":"query","required":true,"schemaId":"schema_99"},{"name":"to","in":"query","required":true,"schemaId":"schema_99"},{"name":"query","in":"query","required":false,"schemaId":"schema_100"},{"name":"city","in":"query","required":false,"schemaId":"schema_105","style":"form","explode":true},{"name":"status","in":"query","required":false,"schemaId":"schema_111","style":"form","explode":true},{"name":"offset","in":"query","required":false,"schemaId":"schema_92"},{"name":"limit","in":"query","required":false,"schemaId":"schema_101"},{"name":"sort","in":"query","required":false,"schemaId":"schema_112","style":"form","explode":true}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403"],"pointer":"/api/admin/records","href":"admin-panel-zapisi/paths/~1api~1admin~1records/get","summary":"Получить список записей","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Список записей"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminRecordListResponse"}},"schemaId":"components/schemas/AdminRecordListResponse"},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1records/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1records/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1records/get/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1records/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1records/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1records/get/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1records/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1records/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Нет роли "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ADMIN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" или недостаточно прав на соответствующий раздел админ-панели"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1records/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1records/get/responses/403/content/application~1json/examples/admin_role_required"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1records/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1records/get/responses/403/content/application~1json/examples/admin_role_required"]}],"pointer":"/paths/~1api~1admin~1records/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/AdminRecordListResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminRecordListResponse"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1records/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1records/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1records/get/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1records/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1records/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1records/get/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1records/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1records/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1records/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1records/get/responses/403/content/application~1json/examples/admin_role_required"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1records/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1records/get/responses/403/content/application~1json/examples/admin_role_required"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/admin-panel-zapisi/paths/~1api~1admin~1records/get"}],"panels":[]}]},"httpPath":"/api/admin/records"},{"label":"Получить данные записи","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/admin-panel-zapisi/paths/~1api~1admin~1records~1{recordid}/get","routeSlug":"/openapi/admin-panel-zapisi/paths/~1api~1admin~1records~1{recordid}/get","metadata":{"seo":{"title":"Получить данные записи","description":"Возвращает данные одной оплаченной записи только для чтения. Для независимого мастера поле салона равно null. Записи с внутренним статусом WAITING_FOR_PAYMENT не выдаются."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить данные записи","isWebhook":false,"pointer":"/paths/~1api~1admin~1records~1{recordId}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить данные записи","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает данные одной оплаченной записи только для чтения. Для независимого мастера поле салона равно "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Записи с внутренним статусом "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"WAITING_FOR_PAYMENT"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" не выдаются."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"recordId","in":"path","schemaId":"schema_97","required":true}],"pointer":"/paths/~1api~1admin~1records~1{recordId}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/admin/records/{recordId}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"recordId","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403","404"],"pointer":"/api/admin/records/{recordId}","href":"admin-panel-zapisi/paths/~1api~1admin~1records~1{recordid}/get","summary":"Получить данные записи","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Данные записи успешно получены"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminRecordDetailsResponse"}},"schemaId":"components/schemas/AdminRecordDetailsResponse"},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1records~1{recordId}/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1records~1{recordId}/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1records~1{recordId}/get/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1records~1{recordId}/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1records~1{recordId}/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1records~1{recordId}/get/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1records~1{recordId}/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1records~1{recordId}/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Нет роли "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ADMIN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" или недостаточно прав на соответствующий раздел админ-панели"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1records~1{recordId}/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1records~1{recordId}/get/responses/403/content/application~1json/examples/admin_role_required"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1records~1{recordId}/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1records~1{recordId}/get/responses/403/content/application~1json/examples/admin_role_required"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрошенный ресурс не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1records~1{recordId}/get/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1records~1{recordId}/get/responses/404/content/application~1json/examples/not_found"]}],"pointer":"/paths/~1api~1admin~1records~1{recordId}/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/AdminRecordDetailsResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminRecordDetailsResponse"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1records~1{recordId}/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1records~1{recordId}/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1records~1{recordId}/get/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1records~1{recordId}/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1records~1{recordId}/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1records~1{recordId}/get/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1records~1{recordId}/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1records~1{recordId}/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1records~1{recordId}/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1records~1{recordId}/get/responses/403/content/application~1json/examples/admin_role_required"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1records~1{recordId}/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1records~1{recordId}/get/responses/403/content/application~1json/examples/admin_role_required"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1records~1{recordId}/get/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1records~1{recordId}/get/responses/404/content/application~1json/examples/not_found"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/admin-panel-zapisi/paths/~1api~1admin~1records~1{recordid}/get"}],"panels":[]}]},"httpPath":"/api/admin/records/{recordId}"},{"label":"Отменить запись администратором","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/admin-panel-zapisi/paths/~1api~1admin~1records~1{recordid}~1cancel/post","routeSlug":"/openapi/admin-panel-zapisi/paths/~1api~1admin~1records~1{recordid}~1cancel/post","metadata":{"seo":{"title":"Отменить запись администратором","description":"Атомарно отменяет активную запись со статусом BOOKED, сохраняет обязательнуюпричину отмены и данные администратора для аудита. Этот endpoint не отправляетсообщения в чат. Для оплаченной записи создаётся событие полного возврата."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Отменить запись администратором","isWebhook":false,"pointer":"/paths/~1api~1admin~1records~1{recordId}~1cancel/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Отменить запись администратором","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Атомарно отменяет активную запись со статусом "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"BOOKED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", сохраняет обязательную"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"причину отмены и данные администратора для аудита. Этот endpoint не отправляет"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"сообщения в чат. Для оплаченной записи создаётся событие полного возврата."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"recordId","in":"path","schemaId":"schema_97","required":true}],"pointer":"/paths/~1api~1admin~1records~1{recordId}~1cancel/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/AdminCancelRecordRequest","exampleIds":["paths/~1api~1admin~1records~1{recordId}~1cancel/post/requestBody/content/application~1json/example"]}},"schemaId":"components/schemas/AdminCancelRecordRequest","exampleIds":["paths/~1api~1admin~1records~1{recordId}~1cancel/post/requestBody/content/application~1json/example"],"pointer":"/paths/~1api~1admin~1records~1{recordId}~1cancel/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/admin/records/{recordId}/cancel","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"recordId","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/AdminCancelRecordRequest","exampleIds":["paths/~1api~1admin~1records~1{recordId}~1cancel/post/requestBody/content/application~1json/example"]}},"responseCodes":["200","400","401","403","404","409"],"pointer":"/api/admin/records/{recordId}/cancel","href":"admin-panel-zapisi/paths/~1api~1admin~1records~1{recordid}~1cancel/post","summary":"Отменить запись администратором","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/AdminCancelRecordRequest","exampleIds":["paths/~1api~1admin~1records~1{recordId}~1cancel/post/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/AdminCancelRecordRequest","exampleIds":["paths/~1api~1admin~1records~1{recordId}~1cancel/post/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запись успешно отменена"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminCancelRecordResponse"}},"schemaId":"components/schemas/AdminCancelRecordResponse"},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1records~1{recordId}~1cancel/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1records~1{recordId}~1cancel/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1records~1{recordId}~1cancel/post/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1records~1{recordId}~1cancel/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1records~1{recordId}~1cancel/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1records~1{recordId}~1cancel/post/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1records~1{recordId}~1cancel/post/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1records~1{recordId}~1cancel/post/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Нет роли "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ADMIN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" или недостаточно прав на соответствующий раздел админ-панели"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1records~1{recordId}~1cancel/post/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1records~1{recordId}~1cancel/post/responses/403/content/application~1json/examples/admin_role_required"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1records~1{recordId}~1cancel/post/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1records~1{recordId}~1cancel/post/responses/403/content/application~1json/examples/admin_role_required"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрошенный ресурс не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1records~1{recordId}~1cancel/post/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1records~1{recordId}~1cancel/post/responses/404/content/application~1json/examples/not_found"]},{"code":"409","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запись не находится в активном статусе BOOKED или была параллельно изменена"},"children":[]}]}]}]}],"pointer":"/paths/~1api~1admin~1records~1{recordId}~1cancel/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/AdminCancelRecordResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminCancelRecordResponse"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1records~1{recordId}~1cancel/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1records~1{recordId}~1cancel/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1records~1{recordId}~1cancel/post/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1records~1{recordId}~1cancel/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1records~1{recordId}~1cancel/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1records~1{recordId}~1cancel/post/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1records~1{recordId}~1cancel/post/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1records~1{recordId}~1cancel/post/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1records~1{recordId}~1cancel/post/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1records~1{recordId}~1cancel/post/responses/403/content/application~1json/examples/admin_role_required"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1records~1{recordId}~1cancel/post/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1records~1{recordId}~1cancel/post/responses/403/content/application~1json/examples/admin_role_required"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1records~1{recordId}~1cancel/post/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1records~1{recordId}~1cancel/post/responses/404/content/application~1json/examples/not_found"]}}},{"code":"409"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/admin-panel-zapisi/paths/~1api~1admin~1records~1{recordid}~1cancel/post"}],"panels":[]}]},"httpPath":"/api/admin/records/{recordId}/cancel"},{"label":"Получить статистику записей","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/admin-panel-zapisi/paths/~1api~1admin~1records~1stats/get","routeSlug":"/openapi/admin-panel-zapisi/paths/~1api~1admin~1records~1stats/get","metadata":{"seo":{"title":"Получить статистику записей","description":"Возвращает статистику записей за выбранный период.waiting_records учитывает только записи со статусом BOOKED.Проценты статусов рассчитываются от общего количества записей за текущий период.total_records_change_percent сравнивает общее количество записей с предыдущим аналогичным периодом."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить статистику записей","isWebhook":false,"pointer":"/paths/~1api~1admin~1records~1stats/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить статистику записей","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает статистику записей за выбранный период."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"waiting_records учитывает только записи со статусом BOOKED."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Проценты статусов рассчитываются от общего количества записей за текущий период."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"total_records_change_percent сравнивает общее количество записей с предыдущим аналогичным периодом."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"from","in":"query","schemaId":"schema_99","required":true},{"name":"to","in":"query","schemaId":"schema_99","required":true}],"pointer":"/paths/~1api~1admin~1records~1stats/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/admin/records/stats","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[{"name":"from","in":"query","required":true,"schemaId":"schema_99"},{"name":"to","in":"query","required":true,"schemaId":"schema_99"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403"],"pointer":"/api/admin/records/stats","href":"admin-panel-zapisi/paths/~1api~1admin~1records~1stats/get","summary":"Получить статистику записей","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Статистика записей за выбранный период"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminRecordStatsResponse","exampleIds":["paths/~1api~1admin~1records~1stats/get/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/AdminRecordStatsResponse","exampleIds":["paths/~1api~1admin~1records~1stats/get/responses/200/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1records~1stats/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1records~1stats/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1records~1stats/get/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1records~1stats/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1records~1stats/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1records~1stats/get/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1records~1stats/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1records~1stats/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Нет роли "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ADMIN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" или недостаточно прав на соответствующий раздел админ-панели"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1records~1stats/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1records~1stats/get/responses/403/content/application~1json/examples/admin_role_required"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1records~1stats/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1records~1stats/get/responses/403/content/application~1json/examples/admin_role_required"]}],"pointer":"/paths/~1api~1admin~1records~1stats/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/AdminRecordStatsResponse","exampleIds":["paths/~1api~1admin~1records~1stats/get/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminRecordStatsResponse","exampleIds":["paths/~1api~1admin~1records~1stats/get/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1records~1stats/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1records~1stats/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1records~1stats/get/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1records~1stats/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1records~1stats/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1records~1stats/get/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1records~1stats/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1records~1stats/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1records~1stats/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1records~1stats/get/responses/403/content/application~1json/examples/admin_role_required"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1records~1stats/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1records~1stats/get/responses/403/content/application~1json/examples/admin_role_required"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/admin-panel-zapisi/paths/~1api~1admin~1records~1stats/get"}],"panels":[]}]},"httpPath":"/api/admin/records/stats"}],"content":{"contentType":"group","meta":{"name":"Админ-панель — записи"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Админ-панель — записи","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Просмотр, отмена и статистика записей."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/api/admin/records","summary":"Получить список записей","prefix":{"name":"get","color":"get"},"badges":[],"link":"/admin-panel-zapisi/paths/~1api~1admin~1records/get","deprecated":false},{"title":"/api/admin/records/{recordId}","summary":"Получить данные записи","prefix":{"name":"get","color":"get"},"badges":[],"link":"/admin-panel-zapisi/paths/~1api~1admin~1records~1{recordid}/get","deprecated":false},{"title":"/api/admin/records/{recordId}/cancel","summary":"Отменить запись администратором","prefix":{"name":"post","color":"post"},"badges":[],"link":"/admin-panel-zapisi/paths/~1api~1admin~1records~1{recordid}~1cancel/post","deprecated":false},{"title":"/api/admin/records/stats","summary":"Получить статистику записей","prefix":{"name":"get","color":"get"},"badges":[],"link":"/admin-panel-zapisi/paths/~1api~1admin~1records~1stats/get","deprecated":false}]}]}]}]}},{"type":"group","label":"Админ-панель — мастера и салоны","link":"/openapi/admin-panel-mastera-i-salony","routeSlug":"/openapi/admin-panel-mastera-i-salony","items":[{"label":"Получить возможные причины блокировки","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/admin-panel-mastera-i-salony/paths/~1api~1admin~1block-reasons/get","routeSlug":"/openapi/admin-panel-mastera-i-salony/paths/~1api~1admin~1block-reasons/get","metadata":{"seo":{"title":"Получить возможные причины блокировки","description":"Возвращает отдельный набор причин блокировки для клиента, мастера или салона.OTHER и «Другая причина» не возвращаются."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить возможные причины блокировки","isWebhook":false,"pointer":"/paths/~1api~1admin~1block-reasons/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить возможные причины блокировки","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает отдельный набор причин блокировки для клиента, мастера или салона."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"OTHER"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и «Другая причина» не возвращаются."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Наборы различаются:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CLIENT"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — 7 причин для клиента;"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"MASTER"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — 9 причин для мастера;"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SALON"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — 8 причин для салона."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Каждый элемент содержит название "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"reason"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", которое передаётся в endpoint"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"блокировки, и пояснение "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"description"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", предназначенное для интерфейса."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требуется роль "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ADMIN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"target","in":"query","schemaId":"schema_110","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Тип блокируемого объекта. Поддерживаются только "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CLIENT"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"MASTER"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SALON"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1admin~1block-reasons/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/admin/block-reasons","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[{"name":"target","in":"query","required":true,"schemaId":"schema_110"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403"],"pointer":"/api/admin/block-reasons","href":"admin-panel-mastera-i-salony/paths/~1api~1admin~1block-reasons/get","summary":"Получить возможные причины блокировки","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возможные причины блокировки получены"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminBlockReasonsResponse","exampleIds":["paths/~1api~1admin~1block-reasons/get/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/AdminBlockReasonsResponse","exampleIds":["paths/~1api~1admin~1block-reasons/get/responses/200/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1block-reasons/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1block-reasons/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1block-reasons/get/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1block-reasons/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1block-reasons/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1block-reasons/get/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1block-reasons/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1block-reasons/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1block-reasons/get/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1block-reasons/get/responses/403/content/application~1json/examples/forbidden"]}],"pointer":"/paths/~1api~1admin~1block-reasons/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/AdminBlockReasonsResponse","exampleIds":["paths/~1api~1admin~1block-reasons/get/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminBlockReasonsResponse","exampleIds":["paths/~1api~1admin~1block-reasons/get/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1block-reasons/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1block-reasons/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1block-reasons/get/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1block-reasons/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1block-reasons/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1block-reasons/get/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1block-reasons/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1block-reasons/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1block-reasons/get/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1block-reasons/get/responses/403/content/application~1json/examples/forbidden"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/admin-panel-mastera-i-salony/paths/~1api~1admin~1block-reasons/get"}],"panels":[]}]},"httpPath":"/api/admin/block-reasons"},{"label":"Получить список мастеров и салонов","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/admin-panel-mastera-i-salony/paths/~1api~1admin~1masters-salons/get","routeSlug":"/openapi/admin-panel-mastera-i-salony/paths/~1api~1admin~1masters-salons/get","metadata":{"seo":{"title":"Получить список мастеров и салонов","description":"Возвращает мастеров и салоны с показателями за выбранный период. Фильтры роли и статусаможно передавать несколько раз: role=MASTER&role=SALON иstatus=ACTIVE&status=BLOCKED. Требуется роль ADMIN и доступMASTERS_AND_SALONS уровня READ или FULL."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить список мастеров и салонов","isWebhook":false,"pointer":"/paths/~1api~1admin~1masters-salons/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить список мастеров и салонов","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает мастеров и салоны с показателями за выбранный период. Фильтры роли и статуса"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"можно передавать несколько раз: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"role=MASTER&role=SALON"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"status=ACTIVE&status=BLOCKED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Требуется роль "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ADMIN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и доступ"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"MASTERS_AND_SALONS уровня READ или FULL."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"from","in":"query","schemaId":"schema_99","required":true},{"name":"to","in":"query","schemaId":"schema_99","required":true},{"name":"query","in":"query","schemaId":"schema_100"},{"name":"city","in":"query","schemaId":"schema_105"},{"name":"role","in":"query","schemaId":"schema_113"},{"name":"status","in":"query","schemaId":"schema_106"},{"name":"offset","in":"query","schemaId":"schema_92"},{"name":"limit","in":"query","schemaId":"schema_101"},{"name":"sort","in":"query","schemaId":"schema_114"}],"pointer":"/paths/~1api~1admin~1masters-salons/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/admin/masters-salons","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[{"name":"from","in":"query","required":true,"schemaId":"schema_99"},{"name":"to","in":"query","required":true,"schemaId":"schema_99"},{"name":"query","in":"query","required":false,"schemaId":"schema_100"},{"name":"city","in":"query","required":false,"schemaId":"schema_105","style":"form","explode":true},{"name":"role","in":"query","required":false,"schemaId":"schema_113","style":"form","explode":true},{"name":"status","in":"query","required":false,"schemaId":"schema_106","style":"form","explode":true},{"name":"offset","in":"query","required":false,"schemaId":"schema_92"},{"name":"limit","in":"query","required":false,"schemaId":"schema_101"},{"name":"sort","in":"query","required":false,"schemaId":"schema_114","style":"form","explode":true}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403"],"pointer":"/api/admin/masters-salons","href":"admin-panel-mastera-i-salony/paths/~1api~1admin~1masters-salons/get","summary":"Получить список мастеров и салонов","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Список мастеров и салонов"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminMasterSalonListResponse","exampleIds":["paths/~1api~1admin~1masters-salons/get/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/AdminMasterSalonListResponse","exampleIds":["paths/~1api~1admin~1masters-salons/get/responses/200/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters-salons/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1masters-salons/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1masters-salons/get/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters-salons/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1masters-salons/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1masters-salons/get/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters-salons/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters-salons/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters-salons/get/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters-salons/get/responses/403/content/application~1json/examples/forbidden"]}],"pointer":"/paths/~1api~1admin~1masters-salons/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/AdminMasterSalonListResponse","exampleIds":["paths/~1api~1admin~1masters-salons/get/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminMasterSalonListResponse","exampleIds":["paths/~1api~1admin~1masters-salons/get/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters-salons/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1masters-salons/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1masters-salons/get/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters-salons/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1masters-salons/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1masters-salons/get/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters-salons/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters-salons/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters-salons/get/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters-salons/get/responses/403/content/application~1json/examples/forbidden"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/admin-panel-mastera-i-salony/paths/~1api~1admin~1masters-salons/get"}],"panels":[]}]},"httpPath":"/api/admin/masters-salons"},{"label":"Получить статистику мастеров и салонов","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/admin-panel-mastera-i-salony/paths/~1api~1admin~1masters-salons~1stats/get","routeSlug":"/openapi/admin-panel-mastera-i-salony/paths/~1api~1admin~1masters-salons~1stats/get","metadata":{"seo":{"title":"Получить статистику мастеров и салонов","description":"Возвращает общее количество мастеров и салонов на конец выбранного периода,процентное изменение относительно предыдущего периода, активных мастеров и салоныс записями за период, а также мастеров и владельцев салонов, заблокированных за период.Требуется роль ADMIN и доступ MASTERS_AND_SALONS уровня READ или FULL."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить статистику мастеров и салонов","isWebhook":false,"pointer":"/paths/~1api~1admin~1masters-salons~1stats/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить статистику мастеров и салонов","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает общее количество мастеров и салонов на конец выбранного периода,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"процентное изменение относительно предыдущего периода, активных мастеров и салоны"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"с записями за период, а также мастеров и владельцев салонов, заблокированных за период."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требуется роль "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ADMIN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и доступ MASTERS_AND_SALONS уровня READ или FULL."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"from","in":"query","schemaId":"schema_99","required":true},{"name":"to","in":"query","schemaId":"schema_99","required":true}],"pointer":"/paths/~1api~1admin~1masters-salons~1stats/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/admin/masters-salons/stats","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[{"name":"from","in":"query","required":true,"schemaId":"schema_99"},{"name":"to","in":"query","required":true,"schemaId":"schema_99"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403"],"pointer":"/api/admin/masters-salons/stats","href":"admin-panel-mastera-i-salony/paths/~1api~1admin~1masters-salons~1stats/get","summary":"Получить статистику мастеров и салонов","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Статистика мастеров и салонов"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminMasterSalonStatsResponse","exampleIds":["paths/~1api~1admin~1masters-salons~1stats/get/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/AdminMasterSalonStatsResponse","exampleIds":["paths/~1api~1admin~1masters-salons~1stats/get/responses/200/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters-salons~1stats/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1masters-salons~1stats/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1masters-salons~1stats/get/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters-salons~1stats/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1masters-salons~1stats/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1masters-salons~1stats/get/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters-salons~1stats/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters-salons~1stats/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters-salons~1stats/get/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters-salons~1stats/get/responses/403/content/application~1json/examples/forbidden"]}],"pointer":"/paths/~1api~1admin~1masters-salons~1stats/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/AdminMasterSalonStatsResponse","exampleIds":["paths/~1api~1admin~1masters-salons~1stats/get/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminMasterSalonStatsResponse","exampleIds":["paths/~1api~1admin~1masters-salons~1stats/get/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters-salons~1stats/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1masters-salons~1stats/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1masters-salons~1stats/get/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters-salons~1stats/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1masters-salons~1stats/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1masters-salons~1stats/get/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters-salons~1stats/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters-salons~1stats/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters-salons~1stats/get/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters-salons~1stats/get/responses/403/content/application~1json/examples/forbidden"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/admin-panel-mastera-i-salony/paths/~1api~1admin~1masters-salons~1stats/get"}],"panels":[]}]},"httpPath":"/api/admin/masters-salons/stats"},{"label":"Получить доступные категории для мастера","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/admin-panel-mastera-i-salony/paths/~1api~1admin~1masters~1{id}~1available-categories/get","routeSlug":"/openapi/admin-panel-mastera-i-salony/paths/~1api~1admin~1masters~1{id}~1available-categories/get","metadata":{"seo":{"title":"Получить доступные категории для мастера","description":"Возвращает корневые категории, которые ещё не назначены мастеру."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить доступные категории для мастера","isWebhook":false,"pointer":"/paths/~1api~1admin~1masters~1{id}~1available-categories/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить доступные категории для мастера","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает корневые категории, которые ещё не назначены мастеру."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_97","required":true}],"pointer":"/paths/~1api~1admin~1masters~1{id}~1available-categories/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/admin/masters/{id}/available-categories","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403","404"],"pointer":"/api/admin/masters/{id}/available-categories","href":"admin-panel-mastera-i-salony/paths/~1api~1admin~1masters~1{id}~1available-categories/get","summary":"Получить доступные категории для мастера","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступные корневые категории успешно получены"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminAvailableCategoriesResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}~1available-categories/get/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/AdminAvailableCategoriesResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}~1available-categories/get/responses/200/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID мастера должен быть положительным числом"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}~1available-categories/get/responses/400/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}~1available-categories/get/responses/400/content/application~1json/example"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}~1available-categories/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}~1available-categories/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Нет роли "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ADMIN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" или недостаточно прав на соответствующий раздел админ-панели"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}~1available-categories/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1masters~1{id}~1available-categories/get/responses/403/content/application~1json/examples/admin_role_required"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}~1available-categories/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1masters~1{id}~1available-categories/get/responses/403/content/application~1json/examples/admin_role_required"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Мастер не найден или пользователь не является мастером"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}~1available-categories/get/responses/404/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}~1available-categories/get/responses/404/content/application~1json/example"]}],"pointer":"/paths/~1api~1admin~1masters~1{id}~1available-categories/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/AdminAvailableCategoriesResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}~1available-categories/get/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminAvailableCategoriesResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}~1available-categories/get/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}~1available-categories/get/responses/400/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}~1available-categories/get/responses/400/content/application~1json/example"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}~1available-categories/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}~1available-categories/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}~1available-categories/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1masters~1{id}~1available-categories/get/responses/403/content/application~1json/examples/admin_role_required"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}~1available-categories/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1masters~1{id}~1available-categories/get/responses/403/content/application~1json/examples/admin_role_required"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}~1available-categories/get/responses/404/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}~1available-categories/get/responses/404/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/admin-panel-mastera-i-salony/paths/~1api~1admin~1masters~1{id}~1available-categories/get"}],"panels":[]}]},"httpPath":"/api/admin/masters/{id}/available-categories"},{"label":"Получить доступные категории для салона","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/admin-panel-mastera-i-salony/paths/~1api~1admin~1salons~1{id}~1available-categories/get","routeSlug":"/openapi/admin-panel-mastera-i-salony/paths/~1api~1admin~1salons~1{id}~1available-categories/get","metadata":{"seo":{"title":"Получить доступные категории для салона","description":"Возвращает корневые категории, которые ещё не назначены салону."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить доступные категории для салона","isWebhook":false,"pointer":"/paths/~1api~1admin~1salons~1{id}~1available-categories/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить доступные категории для салона","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает корневые категории, которые ещё не назначены салону."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_97","required":true}],"pointer":"/paths/~1api~1admin~1salons~1{id}~1available-categories/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/admin/salons/{id}/available-categories","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403","404"],"pointer":"/api/admin/salons/{id}/available-categories","href":"admin-panel-mastera-i-salony/paths/~1api~1admin~1salons~1{id}~1available-categories/get","summary":"Получить доступные категории для салона","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступные корневые категории успешно получены"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminAvailableCategoriesResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}~1available-categories/get/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/AdminAvailableCategoriesResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}~1available-categories/get/responses/200/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID салона должен быть положительным числом"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}~1available-categories/get/responses/400/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}~1available-categories/get/responses/400/content/application~1json/example"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}~1available-categories/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}~1available-categories/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Нет роли "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ADMIN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" или недостаточно прав на соответствующий раздел админ-панели"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}~1available-categories/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1salons~1{id}~1available-categories/get/responses/403/content/application~1json/examples/admin_role_required"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}~1available-categories/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1salons~1{id}~1available-categories/get/responses/403/content/application~1json/examples/admin_role_required"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Салон не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}~1available-categories/get/responses/404/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}~1available-categories/get/responses/404/content/application~1json/example"]}],"pointer":"/paths/~1api~1admin~1salons~1{id}~1available-categories/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/AdminAvailableCategoriesResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}~1available-categories/get/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminAvailableCategoriesResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}~1available-categories/get/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}~1available-categories/get/responses/400/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}~1available-categories/get/responses/400/content/application~1json/example"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}~1available-categories/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}~1available-categories/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}~1available-categories/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1salons~1{id}~1available-categories/get/responses/403/content/application~1json/examples/admin_role_required"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}~1available-categories/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1salons~1{id}~1available-categories/get/responses/403/content/application~1json/examples/admin_role_required"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}~1available-categories/get/responses/404/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}~1available-categories/get/responses/404/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/admin-panel-mastera-i-salony/paths/~1api~1admin~1salons~1{id}~1available-categories/get"}],"panels":[]}]},"httpPath":"/api/admin/salons/{id}/available-categories"},{"label":"Получить профиль мастера в админ-панели","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/admin-panel-mastera-i-salony/paths/~1api~1admin~1masters~1{id}/get","routeSlug":"/openapi/admin-panel-mastera-i-salony/paths/~1api~1admin~1masters~1{id}/get","metadata":{"seo":{"title":"Получить профиль мастера в админ-панели","description":"Возвращает редактируемые поля профиля мастера, ID изображений и состояниеблокировки: status, block_reason, blocked_by."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить профиль мастера в админ-панели","isWebhook":false,"pointer":"/paths/~1api~1admin~1masters~1{id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить профиль мастера в админ-панели","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает редактируемые поля профиля мастера, ID изображений и состояние"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"блокировки: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"status"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"block_reason"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"blocked_by"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_97","required":true}],"pointer":"/paths/~1api~1admin~1masters~1{id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/admin/masters/{id}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403","404"],"pointer":"/api/admin/masters/{id}","href":"admin-panel-mastera-i-salony/paths/~1api~1admin~1masters~1{id}/get","summary":"Получить профиль мастера в админ-панели","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Профиль мастера успешно получен"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminMasterProfileResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}/get/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/AdminMasterProfileResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}/get/responses/200/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID мастера должен быть положительным числом"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}/get/responses/400/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}/get/responses/400/content/application~1json/example"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Нет роли "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ADMIN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" или недостаточно прав на соответствующий раздел админ-панели"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1masters~1{id}/get/responses/403/content/application~1json/examples/admin_role_required"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1masters~1{id}/get/responses/403/content/application~1json/examples/admin_role_required"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Мастер не найден или пользователь не является мастером"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}/get/responses/404/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}/get/responses/404/content/application~1json/example"]}],"pointer":"/paths/~1api~1admin~1masters~1{id}/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/AdminMasterProfileResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}/get/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminMasterProfileResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}/get/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}/get/responses/400/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}/get/responses/400/content/application~1json/example"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1masters~1{id}/get/responses/403/content/application~1json/examples/admin_role_required"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1masters~1{id}/get/responses/403/content/application~1json/examples/admin_role_required"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}/get/responses/404/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}/get/responses/404/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/admin-panel-mastera-i-salony/paths/~1api~1admin~1masters~1{id}/get"}],"panels":[]}]},"httpPath":"/api/admin/masters/{id}"},{"label":"Частично изменить профиль мастера","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/admin-panel-mastera-i-salony/paths/~1api~1admin~1masters~1{id}/patch","routeSlug":"/openapi/admin-panel-mastera-i-salony/paths/~1api~1admin~1masters~1{id}/patch","metadata":{"seo":{"title":"Частично изменить профиль мастера","description":"Изменяет поля профиля мастера, кроме изображений. Поля avatar,example_work_images и interior_images доступны только для чтения —при их передаче запрос будет отклонён.Если переданы category_ids или service_locations, соответствующий списокполностью заменяет ранее сохранённый список."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Частично изменить профиль мастера","isWebhook":false,"pointer":"/paths/~1api~1admin~1masters~1{id}/patch","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Частично изменить профиль мастера","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Изменяет поля профиля мастера, кроме изображений. Поля "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"avatar"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":","},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"example_work_images"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"interior_images"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" доступны только для чтения —"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"при их передаче запрос будет отклонён."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Если переданы "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"category_ids"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" или "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"service_locations"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", соответствующий список"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"полностью заменяет ранее сохранённый список."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_97","required":true}],"pointer":"/paths/~1api~1admin~1masters~1{id}/patch/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/AdminMasterUpdateRequest"}},"schemaId":"components/schemas/AdminMasterUpdateRequest","pointer":"/paths/~1api~1admin~1masters~1{id}/patch/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PATCH","path":"/api/admin/masters/{id}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/AdminMasterUpdateRequest"}},"responseCodes":["200","400","401","403","404","409"],"pointer":"/api/admin/masters/{id}","href":"admin-panel-mastera-i-salony/paths/~1api~1admin~1masters~1{id}/patch","summary":"Частично изменить профиль мастера","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/AdminMasterUpdateRequest","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/AdminMasterUpdateRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Профиль мастера успешно изменён"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminMasterProfileResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}/patch/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/AdminMasterProfileResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}/patch/responses/200/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректный ID мастера или тело запроса"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}/patch/responses/400/content/application~1json/examples/invalid_master_id","paths/~1api~1admin~1masters~1{id}/patch/responses/400/content/application~1json/examples/empty_body","paths/~1api~1admin~1masters~1{id}/patch/responses/400/content/application~1json/examples/read_only_image","paths/~1api~1admin~1masters~1{id}/patch/responses/400/content/application~1json/examples/invalid_service_locations"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}/patch/responses/400/content/application~1json/examples/invalid_master_id","paths/~1api~1admin~1masters~1{id}/patch/responses/400/content/application~1json/examples/empty_body","paths/~1api~1admin~1masters~1{id}/patch/responses/400/content/application~1json/examples/read_only_image","paths/~1api~1admin~1masters~1{id}/patch/responses/400/content/application~1json/examples/invalid_service_locations"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}/patch/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}/patch/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Нет роли "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ADMIN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" или недостаточно прав на соответствующий раздел админ-панели"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}/patch/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1masters~1{id}/patch/responses/403/content/application~1json/examples/admin_role_required"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}/patch/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1masters~1{id}/patch/responses/403/content/application~1json/examples/admin_role_required"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Мастер или одна из переданных категорий не найдены"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}/patch/responses/404/content/application~1json/examples/master_not_found","paths/~1api~1admin~1masters~1{id}/patch/responses/404/content/application~1json/examples/category_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}/patch/responses/404/content/application~1json/examples/master_not_found","paths/~1api~1admin~1masters~1{id}/patch/responses/404/content/application~1json/examples/category_not_found"]},{"code":"409","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Объект был изменён параллельным запросом; клиент должен перечитать актуальное состояние и повторить операцию"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}/patch/responses/409/content/application~1json/examples/object_modified_by_another_thread"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}/patch/responses/409/content/application~1json/examples/object_modified_by_another_thread"]}],"pointer":"/paths/~1api~1admin~1masters~1{id}/patch/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/AdminMasterProfileResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}/patch/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminMasterProfileResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}/patch/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}/patch/responses/400/content/application~1json/examples/invalid_master_id","paths/~1api~1admin~1masters~1{id}/patch/responses/400/content/application~1json/examples/empty_body","paths/~1api~1admin~1masters~1{id}/patch/responses/400/content/application~1json/examples/read_only_image","paths/~1api~1admin~1masters~1{id}/patch/responses/400/content/application~1json/examples/invalid_service_locations"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}/patch/responses/400/content/application~1json/examples/invalid_master_id","paths/~1api~1admin~1masters~1{id}/patch/responses/400/content/application~1json/examples/empty_body","paths/~1api~1admin~1masters~1{id}/patch/responses/400/content/application~1json/examples/read_only_image","paths/~1api~1admin~1masters~1{id}/patch/responses/400/content/application~1json/examples/invalid_service_locations"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}/patch/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}/patch/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}/patch/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1masters~1{id}/patch/responses/403/content/application~1json/examples/admin_role_required"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}/patch/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1masters~1{id}/patch/responses/403/content/application~1json/examples/admin_role_required"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}/patch/responses/404/content/application~1json/examples/master_not_found","paths/~1api~1admin~1masters~1{id}/patch/responses/404/content/application~1json/examples/category_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}/patch/responses/404/content/application~1json/examples/master_not_found","paths/~1api~1admin~1masters~1{id}/patch/responses/404/content/application~1json/examples/category_not_found"]}}},{"code":"409","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}/patch/responses/409/content/application~1json/examples/object_modified_by_another_thread"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}/patch/responses/409/content/application~1json/examples/object_modified_by_another_thread"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/admin-panel-mastera-i-salony/paths/~1api~1admin~1masters~1{id}/patch"}],"panels":[]}]},"httpPath":"/api/admin/masters/{id}"},{"label":"Получить профиль салона в админ-панели","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/admin-panel-mastera-i-salony/paths/~1api~1admin~1salons~1{id}/get","routeSlug":"/openapi/admin-panel-mastera-i-salony/paths/~1api~1admin~1salons~1{id}/get","metadata":{"seo":{"title":"Получить профиль салона в админ-панели","description":"Возвращает редактируемые поля салона, ID изображений, визуальный графикработы и состояние блокировки учётной записи владельца салона:status, block_reason, blocked_by."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить профиль салона в админ-панели","isWebhook":false,"pointer":"/paths/~1api~1admin~1salons~1{id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить профиль салона в админ-панели","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает редактируемые поля салона, ID изображений, визуальный график"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"работы и состояние блокировки учётной записи владельца салона:"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"status"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"block_reason"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"blocked_by"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_97","required":true}],"pointer":"/paths/~1api~1admin~1salons~1{id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/admin/salons/{id}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403","404"],"pointer":"/api/admin/salons/{id}","href":"admin-panel-mastera-i-salony/paths/~1api~1admin~1salons~1{id}/get","summary":"Получить профиль салона в админ-панели","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Профиль салона успешно получен"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminSalonProfileResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}/get/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/AdminSalonProfileResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}/get/responses/200/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID салона должен быть положительным числом"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}/get/responses/400/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}/get/responses/400/content/application~1json/example"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Нет роли "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ADMIN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" или недостаточно прав на соответствующий раздел админ-панели"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1salons~1{id}/get/responses/403/content/application~1json/examples/admin_role_required"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1salons~1{id}/get/responses/403/content/application~1json/examples/admin_role_required"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Салон не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}/get/responses/404/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}/get/responses/404/content/application~1json/example"]}],"pointer":"/paths/~1api~1admin~1salons~1{id}/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/AdminSalonProfileResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}/get/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminSalonProfileResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}/get/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}/get/responses/400/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}/get/responses/400/content/application~1json/example"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1salons~1{id}/get/responses/403/content/application~1json/examples/admin_role_required"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1salons~1{id}/get/responses/403/content/application~1json/examples/admin_role_required"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}/get/responses/404/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}/get/responses/404/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/admin-panel-mastera-i-salony/paths/~1api~1admin~1salons~1{id}/get"}],"panels":[]}]},"httpPath":"/api/admin/salons/{id}"},{"label":"Частично изменить профиль салона","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/admin-panel-mastera-i-salony/paths/~1api~1admin~1salons~1{id}/patch","routeSlug":"/openapi/admin-panel-mastera-i-salony/paths/~1api~1admin~1salons~1{id}/patch","metadata":{"seo":{"title":"Частично изменить профиль салона","description":"Изменяет текстовые поля салона, категории и визуальный график работы профиля.Поля cover_photo_id и interior_images доступны только для чтения —при их передаче запрос будет отклонён.Если передан working_days, он полностью заменяет семь ранее сохранённых дней.Этот график отображается в профиле и не является фактическим календарём доступности для записи."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Частично изменить профиль салона","isWebhook":false,"pointer":"/paths/~1api~1admin~1salons~1{id}/patch","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Частично изменить профиль салона","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Изменяет текстовые поля салона, категории и визуальный график работы профиля."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Поля "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"cover_photo_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"interior_images"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" доступны только для чтения —"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"при их передаче запрос будет отклонён."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Если передан "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"working_days"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", он полностью заменяет семь ранее сохранённых дней."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Этот график отображается в профиле и не является фактическим календарём доступности для записи."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_97","required":true}],"pointer":"/paths/~1api~1admin~1salons~1{id}/patch/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/AdminSalonUpdateRequest"}},"schemaId":"components/schemas/AdminSalonUpdateRequest","pointer":"/paths/~1api~1admin~1salons~1{id}/patch/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PATCH","path":"/api/admin/salons/{id}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/AdminSalonUpdateRequest"}},"responseCodes":["200","400","401","403","404","409"],"pointer":"/api/admin/salons/{id}","href":"admin-panel-mastera-i-salony/paths/~1api~1admin~1salons~1{id}/patch","summary":"Частично изменить профиль салона","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/AdminSalonUpdateRequest","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/AdminSalonUpdateRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Профиль салона успешно изменён"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminSalonProfileResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}/patch/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/AdminSalonProfileResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}/patch/responses/200/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректный ID салона или тело запроса"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}/patch/responses/400/content/application~1json/examples/invalid_salon_id","paths/~1api~1admin~1salons~1{id}/patch/responses/400/content/application~1json/examples/empty_body","paths/~1api~1admin~1salons~1{id}/patch/responses/400/content/application~1json/examples/read_only_image","paths/~1api~1admin~1salons~1{id}/patch/responses/400/content/application~1json/examples/address_without_geolocation","paths/~1api~1admin~1salons~1{id}/patch/responses/400/content/application~1json/examples/invalid_working_days"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}/patch/responses/400/content/application~1json/examples/invalid_salon_id","paths/~1api~1admin~1salons~1{id}/patch/responses/400/content/application~1json/examples/empty_body","paths/~1api~1admin~1salons~1{id}/patch/responses/400/content/application~1json/examples/read_only_image","paths/~1api~1admin~1salons~1{id}/patch/responses/400/content/application~1json/examples/address_without_geolocation","paths/~1api~1admin~1salons~1{id}/patch/responses/400/content/application~1json/examples/invalid_working_days"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}/patch/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}/patch/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Нет роли "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ADMIN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" или недостаточно прав на соответствующий раздел админ-панели"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}/patch/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1salons~1{id}/patch/responses/403/content/application~1json/examples/admin_role_required"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}/patch/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1salons~1{id}/patch/responses/403/content/application~1json/examples/admin_role_required"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Салон или одна из переданных категорий не найдены"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}/patch/responses/404/content/application~1json/examples/salon_not_found","paths/~1api~1admin~1salons~1{id}/patch/responses/404/content/application~1json/examples/category_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}/patch/responses/404/content/application~1json/examples/salon_not_found","paths/~1api~1admin~1salons~1{id}/patch/responses/404/content/application~1json/examples/category_not_found"]},{"code":"409","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Объект был изменён параллельным запросом; клиент должен перечитать актуальное состояние и повторить операцию"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}/patch/responses/409/content/application~1json/examples/object_modified_by_another_thread"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}/patch/responses/409/content/application~1json/examples/object_modified_by_another_thread"]}],"pointer":"/paths/~1api~1admin~1salons~1{id}/patch/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/AdminSalonProfileResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}/patch/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminSalonProfileResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}/patch/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}/patch/responses/400/content/application~1json/examples/invalid_salon_id","paths/~1api~1admin~1salons~1{id}/patch/responses/400/content/application~1json/examples/empty_body","paths/~1api~1admin~1salons~1{id}/patch/responses/400/content/application~1json/examples/read_only_image","paths/~1api~1admin~1salons~1{id}/patch/responses/400/content/application~1json/examples/address_without_geolocation","paths/~1api~1admin~1salons~1{id}/patch/responses/400/content/application~1json/examples/invalid_working_days"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}/patch/responses/400/content/application~1json/examples/invalid_salon_id","paths/~1api~1admin~1salons~1{id}/patch/responses/400/content/application~1json/examples/empty_body","paths/~1api~1admin~1salons~1{id}/patch/responses/400/content/application~1json/examples/read_only_image","paths/~1api~1admin~1salons~1{id}/patch/responses/400/content/application~1json/examples/address_without_geolocation","paths/~1api~1admin~1salons~1{id}/patch/responses/400/content/application~1json/examples/invalid_working_days"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}/patch/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}/patch/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}/patch/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1salons~1{id}/patch/responses/403/content/application~1json/examples/admin_role_required"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}/patch/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1salons~1{id}/patch/responses/403/content/application~1json/examples/admin_role_required"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}/patch/responses/404/content/application~1json/examples/salon_not_found","paths/~1api~1admin~1salons~1{id}/patch/responses/404/content/application~1json/examples/category_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}/patch/responses/404/content/application~1json/examples/salon_not_found","paths/~1api~1admin~1salons~1{id}/patch/responses/404/content/application~1json/examples/category_not_found"]}}},{"code":"409","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}/patch/responses/409/content/application~1json/examples/object_modified_by_another_thread"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}/patch/responses/409/content/application~1json/examples/object_modified_by_another_thread"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/admin-panel-mastera-i-salony/paths/~1api~1admin~1salons~1{id}/patch"}],"panels":[]}]},"httpPath":"/api/admin/salons/{id}"},{"label":"Заблокировать мастера","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/admin-panel-mastera-i-salony/paths/~1api~1admin~1masters~1{id}~1block/post","routeSlug":"/openapi/admin-panel-mastera-i-salony/paths/~1api~1admin~1masters~1{id}~1block/post","metadata":{"seo":{"title":"Заблокировать мастера","description":"Блокирует учётную запись мастера. Возможные причины следует получить черезGET /api/admin/block-reasons?target=MASTER."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Заблокировать мастера","isWebhook":false,"pointer":"/paths/~1api~1admin~1masters~1{id}~1block/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Заблокировать мастера","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Блокирует учётную запись мастера. Возможные причины следует получить через"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET /api/admin/block-reasons?target=MASTER"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор администратора определяется из JWT и сохраняется как"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"blocked_by"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; передавать его в body не нужно."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требуется роль "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ADMIN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и доступ MASTERS_AND_SALONS уровня FULL."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_97","required":true}],"pointer":"/paths/~1api~1admin~1masters~1{id}~1block/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/AdminBlockRequest","exampleIds":["paths/~1api~1admin~1masters~1{id}~1block/post/requestBody/content/application~1json/example"]}},"schemaId":"components/schemas/AdminBlockRequest","exampleIds":["paths/~1api~1admin~1masters~1{id}~1block/post/requestBody/content/application~1json/example"],"pointer":"/paths/~1api~1admin~1masters~1{id}~1block/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/admin/masters/{id}/block","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/AdminBlockRequest","exampleIds":["paths/~1api~1admin~1masters~1{id}~1block/post/requestBody/content/application~1json/example"]}},"responseCodes":["200","400","401","403","404","409"],"pointer":"/api/admin/masters/{id}/block","href":"admin-panel-mastera-i-salony/paths/~1api~1admin~1masters~1{id}~1block/post","summary":"Заблокировать мастера","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/AdminBlockRequest","exampleIds":["paths/~1api~1admin~1masters~1{id}~1block/post/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/AdminBlockRequest","exampleIds":["paths/~1api~1admin~1masters~1{id}~1block/post/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Мастер заблокирован"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminMasterBlockResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}~1block/post/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/AdminMasterBlockResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}~1block/post/responses/200/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}~1block/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1masters~1{id}~1block/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1masters~1{id}~1block/post/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}~1block/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1masters~1{id}~1block/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1masters~1{id}~1block/post/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}~1block/post/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}~1block/post/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}~1block/post/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}~1block/post/responses/403/content/application~1json/examples/forbidden"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрошенный ресурс не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}~1block/post/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}~1block/post/responses/404/content/application~1json/examples/not_found"]},{"code":"409","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрос конфликтует с текущим состоянием ресурса"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}~1block/post/responses/409/content/application~1json/examples/conflict"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}~1block/post/responses/409/content/application~1json/examples/conflict"]}],"pointer":"/paths/~1api~1admin~1masters~1{id}~1block/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/AdminMasterBlockResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}~1block/post/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminMasterBlockResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}~1block/post/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}~1block/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1masters~1{id}~1block/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1masters~1{id}~1block/post/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}~1block/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1masters~1{id}~1block/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1masters~1{id}~1block/post/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}~1block/post/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}~1block/post/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}~1block/post/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}~1block/post/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}~1block/post/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}~1block/post/responses/404/content/application~1json/examples/not_found"]}}},{"code":"409","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}~1block/post/responses/409/content/application~1json/examples/conflict"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}~1block/post/responses/409/content/application~1json/examples/conflict"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/admin-panel-mastera-i-salony/paths/~1api~1admin~1masters~1{id}~1block/post"}],"panels":[]}]},"httpPath":"/api/admin/masters/{id}/block"},{"label":"Разблокировать мастера","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/admin-panel-mastera-i-salony/paths/~1api~1admin~1masters~1{id}~1unblock/post","routeSlug":"/openapi/admin-panel-mastera-i-salony/paths/~1api~1admin~1masters~1{id}~1unblock/post","metadata":{"seo":{"title":"Разблокировать мастера","description":"Разблокирует учётную запись мастера без request body. Данные последнейблокировки остаются в БД как история.Требуется роль ADMIN и доступ MASTERS_AND_SALONS уровня FULL."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Разблокировать мастера","isWebhook":false,"pointer":"/paths/~1api~1admin~1masters~1{id}~1unblock/post","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Разблокировать мастера","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Разблокирует учётную запись мастера без request body. Данные последней"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"блокировки остаются в БД как история."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требуется роль "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ADMIN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и доступ MASTERS_AND_SALONS уровня FULL."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_97","required":true}],"pointer":"/paths/~1api~1admin~1masters~1{id}~1unblock/post/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/admin/masters/{id}/unblock","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403","404","409"],"pointer":"/api/admin/masters/{id}/unblock","href":"admin-panel-mastera-i-salony/paths/~1api~1admin~1masters~1{id}~1unblock/post","summary":"Разблокировать мастера","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Мастер разблокирован"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminMasterBlockResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}~1unblock/post/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/AdminMasterBlockResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}~1unblock/post/responses/200/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}~1unblock/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1masters~1{id}~1unblock/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1masters~1{id}~1unblock/post/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}~1unblock/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1masters~1{id}~1unblock/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1masters~1{id}~1unblock/post/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}~1unblock/post/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}~1unblock/post/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}~1unblock/post/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}~1unblock/post/responses/403/content/application~1json/examples/forbidden"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрошенный ресурс не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}~1unblock/post/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}~1unblock/post/responses/404/content/application~1json/examples/not_found"]},{"code":"409","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрос конфликтует с текущим состоянием ресурса"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}~1unblock/post/responses/409/content/application~1json/examples/conflict"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}~1unblock/post/responses/409/content/application~1json/examples/conflict"]}],"pointer":"/paths/~1api~1admin~1masters~1{id}~1unblock/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/AdminMasterBlockResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}~1unblock/post/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminMasterBlockResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}~1unblock/post/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}~1unblock/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1masters~1{id}~1unblock/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1masters~1{id}~1unblock/post/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}~1unblock/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1masters~1{id}~1unblock/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1masters~1{id}~1unblock/post/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}~1unblock/post/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}~1unblock/post/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}~1unblock/post/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}~1unblock/post/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}~1unblock/post/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}~1unblock/post/responses/404/content/application~1json/examples/not_found"]}}},{"code":"409","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}~1unblock/post/responses/409/content/application~1json/examples/conflict"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1masters~1{id}~1unblock/post/responses/409/content/application~1json/examples/conflict"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/admin-panel-mastera-i-salony/paths/~1api~1admin~1masters~1{id}~1unblock/post"}],"panels":[]}]},"httpPath":"/api/admin/masters/{id}/unblock"},{"label":"Заблокировать салон","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/admin-panel-mastera-i-salony/paths/~1api~1admin~1salons~1{id}~1block/post","routeSlug":"/openapi/admin-panel-mastera-i-salony/paths/~1api~1admin~1salons~1{id}~1block/post","metadata":{"seo":{"title":"Заблокировать салон","description":"Блокирует учётную запись владельца салона. В path передаётся salonId,а не ID владельца. Возможные причины следует получить черезGET /api/admin/block-reasons?target=SALON."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Заблокировать салон","isWebhook":false,"pointer":"/paths/~1api~1admin~1salons~1{id}~1block/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Заблокировать салон","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Блокирует учётную запись владельца салона. В path передаётся "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"salonId"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":","},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"а не ID владельца. Возможные причины следует получить через"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET /api/admin/block-reasons?target=SALON"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор администратора определяется из JWT и сохраняется как"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"blocked_by"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; передавать его в body не нужно."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требуется роль "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ADMIN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и доступ MASTERS_AND_SALONS уровня FULL."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_97","required":true}],"pointer":"/paths/~1api~1admin~1salons~1{id}~1block/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/AdminBlockRequest","exampleIds":["paths/~1api~1admin~1salons~1{id}~1block/post/requestBody/content/application~1json/example"]}},"schemaId":"components/schemas/AdminBlockRequest","exampleIds":["paths/~1api~1admin~1salons~1{id}~1block/post/requestBody/content/application~1json/example"],"pointer":"/paths/~1api~1admin~1salons~1{id}~1block/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/admin/salons/{id}/block","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/AdminBlockRequest","exampleIds":["paths/~1api~1admin~1salons~1{id}~1block/post/requestBody/content/application~1json/example"]}},"responseCodes":["200","400","401","403","404","409"],"pointer":"/api/admin/salons/{id}/block","href":"admin-panel-mastera-i-salony/paths/~1api~1admin~1salons~1{id}~1block/post","summary":"Заблокировать салон","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/AdminBlockRequest","exampleIds":["paths/~1api~1admin~1salons~1{id}~1block/post/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/AdminBlockRequest","exampleIds":["paths/~1api~1admin~1salons~1{id}~1block/post/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Салон заблокирован через учётную запись владельца"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminSalonBlockResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}~1block/post/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/AdminSalonBlockResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}~1block/post/responses/200/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}~1block/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1salons~1{id}~1block/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1salons~1{id}~1block/post/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}~1block/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1salons~1{id}~1block/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1salons~1{id}~1block/post/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}~1block/post/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}~1block/post/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}~1block/post/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}~1block/post/responses/403/content/application~1json/examples/forbidden"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрошенный ресурс не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}~1block/post/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}~1block/post/responses/404/content/application~1json/examples/not_found"]},{"code":"409","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрос конфликтует с текущим состоянием ресурса"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}~1block/post/responses/409/content/application~1json/examples/conflict"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}~1block/post/responses/409/content/application~1json/examples/conflict"]}],"pointer":"/paths/~1api~1admin~1salons~1{id}~1block/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/AdminSalonBlockResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}~1block/post/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminSalonBlockResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}~1block/post/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}~1block/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1salons~1{id}~1block/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1salons~1{id}~1block/post/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}~1block/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1salons~1{id}~1block/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1salons~1{id}~1block/post/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}~1block/post/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}~1block/post/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}~1block/post/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}~1block/post/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}~1block/post/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}~1block/post/responses/404/content/application~1json/examples/not_found"]}}},{"code":"409","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}~1block/post/responses/409/content/application~1json/examples/conflict"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}~1block/post/responses/409/content/application~1json/examples/conflict"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/admin-panel-mastera-i-salony/paths/~1api~1admin~1salons~1{id}~1block/post"}],"panels":[]}]},"httpPath":"/api/admin/salons/{id}/block"},{"label":"Разблокировать салон","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/admin-panel-mastera-i-salony/paths/~1api~1admin~1salons~1{id}~1unblock/post","routeSlug":"/openapi/admin-panel-mastera-i-salony/paths/~1api~1admin~1salons~1{id}~1unblock/post","metadata":{"seo":{"title":"Разблокировать салон","description":"Разблокирует учётную запись владельца салона без request body. В pathпередаётся salonId. Данные последней блокировки остаются в БД как история.Требуется роль ADMIN и доступ MASTERS_AND_SALONS уровня FULL."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Разблокировать салон","isWebhook":false,"pointer":"/paths/~1api~1admin~1salons~1{id}~1unblock/post","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Разблокировать салон","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Разблокирует учётную запись владельца салона без request body. В path"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"передаётся "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"salonId"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Данные последней блокировки остаются в БД как история."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требуется роль "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ADMIN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и доступ MASTERS_AND_SALONS уровня FULL."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_97","required":true}],"pointer":"/paths/~1api~1admin~1salons~1{id}~1unblock/post/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/admin/salons/{id}/unblock","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403","404","409"],"pointer":"/api/admin/salons/{id}/unblock","href":"admin-panel-mastera-i-salony/paths/~1api~1admin~1salons~1{id}~1unblock/post","summary":"Разблокировать салон","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Салон разблокирован через учётную запись владельца"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminSalonBlockResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}~1unblock/post/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/AdminSalonBlockResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}~1unblock/post/responses/200/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}~1unblock/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1salons~1{id}~1unblock/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1salons~1{id}~1unblock/post/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}~1unblock/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1salons~1{id}~1unblock/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1salons~1{id}~1unblock/post/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}~1unblock/post/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}~1unblock/post/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}~1unblock/post/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}~1unblock/post/responses/403/content/application~1json/examples/forbidden"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрошенный ресурс не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}~1unblock/post/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}~1unblock/post/responses/404/content/application~1json/examples/not_found"]},{"code":"409","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрос конфликтует с текущим состоянием ресурса"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}~1unblock/post/responses/409/content/application~1json/examples/conflict"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}~1unblock/post/responses/409/content/application~1json/examples/conflict"]}],"pointer":"/paths/~1api~1admin~1salons~1{id}~1unblock/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/AdminSalonBlockResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}~1unblock/post/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminSalonBlockResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}~1unblock/post/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}~1unblock/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1salons~1{id}~1unblock/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1salons~1{id}~1unblock/post/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}~1unblock/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1salons~1{id}~1unblock/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1salons~1{id}~1unblock/post/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}~1unblock/post/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}~1unblock/post/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}~1unblock/post/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}~1unblock/post/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}~1unblock/post/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}~1unblock/post/responses/404/content/application~1json/examples/not_found"]}}},{"code":"409","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}~1unblock/post/responses/409/content/application~1json/examples/conflict"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1salons~1{id}~1unblock/post/responses/409/content/application~1json/examples/conflict"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/admin-panel-mastera-i-salony/paths/~1api~1admin~1salons~1{id}~1unblock/post"}],"panels":[]}]},"httpPath":"/api/admin/salons/{id}/unblock"},{"label":"Получить заявки на модерацию","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/admin-panel-mastera-i-salony/paths/~1api~1admin~1moderation~1requests/get","routeSlug":"/openapi/admin-panel-mastera-i-salony/paths/~1api~1admin~1moderation~1requests/get","metadata":{"seo":{"title":"Получить заявки на модерацию","description":"Возвращает заявки мастеров и салонов.Для одного запроса выбирается один статус вкладки, а параметры role и city можно передавать несколько раз.Требуется роль ADMIN и доступ MASTERS_AND_SALONS уровня READ или FULL."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить заявки на модерацию","isWebhook":false,"pointer":"/paths/~1api~1admin~1moderation~1requests/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить заявки на модерацию","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает заявки мастеров и салонов."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Для одного запроса выбирается один статус вкладки, а параметры "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"role"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"city"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" можно передавать несколько раз."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требуется роль "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ADMIN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и доступ MASTERS_AND_SALONS уровня READ или FULL."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"status","in":"query","schemaId":"schema_115","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Статус заявок для выбранной вкладки."},"children":[]}]}]}],"example":"PENDING"},{"name":"role","in":"query","schemaId":"schema_116","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Роль профиля. Параметр можно повторить для выбора мастеров и салонов одновременно."},"children":[]}]}]}],"example":["MASTER","SALON"]},{"name":"city","in":"query","schemaId":"schema_117","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Точное название города. Параметр можно повторить, чтобы выбрать несколько городов."},"children":[]}]}]}],"example":["Москва","Сочи"]},{"name":"query","in":"query","schemaId":"schema_100","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Поиск без учёта регистра по имени мастера, названию салона или причине отклонения."},"children":[]}]}]}],"example":"Glow"},{"name":"offset","in":"query","schemaId":"schema_92"},{"name":"limit","in":"query","schemaId":"schema_101"},{"name":"sort","in":"query","schemaId":"schema_118","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Сортировка по времени отправки заявки."},"children":[]}]}]}]}],"pointer":"/paths/~1api~1admin~1moderation~1requests/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/admin/moderation/requests","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[{"name":"status","in":"query","required":false,"example":"PENDING","schemaId":"components/schemas/ModerationStatus"},{"name":"role","in":"query","required":false,"example":["MASTER","SALON"],"schemaId":"schema_116","style":"form","explode":true},{"name":"city","in":"query","required":false,"example":["Москва","Сочи"],"schemaId":"schema_117","style":"form","explode":true},{"name":"query","in":"query","required":false,"example":"Glow","schemaId":"schema_100"},{"name":"offset","in":"query","required":false,"schemaId":"schema_92"},{"name":"limit","in":"query","required":false,"schemaId":"schema_101"},{"name":"sort","in":"query","required":false,"schemaId":"schema_118"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403"],"pointer":"/api/admin/moderation/requests","href":"admin-panel-mastera-i-salony/paths/~1api~1admin~1moderation~1requests/get","summary":"Получить заявки на модерацию","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Заявки на модерацию успешно получены"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminModerationListApiResponse","exampleIds":["paths/~1api~1admin~1moderation~1requests/get/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/AdminModerationListApiResponse","exampleIds":["paths/~1api~1admin~1moderation~1requests/get/responses/200/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1moderation~1requests/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1moderation~1requests/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1moderation~1requests/get/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1moderation~1requests/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1moderation~1requests/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1moderation~1requests/get/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1moderation~1requests/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1moderation~1requests/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1moderation~1requests/get/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1moderation~1requests/get/responses/403/content/application~1json/examples/forbidden"]}],"pointer":"/paths/~1api~1admin~1moderation~1requests/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/AdminModerationListApiResponse","exampleIds":["paths/~1api~1admin~1moderation~1requests/get/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminModerationListApiResponse","exampleIds":["paths/~1api~1admin~1moderation~1requests/get/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1moderation~1requests/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1moderation~1requests/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1moderation~1requests/get/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1moderation~1requests/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1moderation~1requests/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1moderation~1requests/get/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1moderation~1requests/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1moderation~1requests/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1moderation~1requests/get/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1moderation~1requests/get/responses/403/content/application~1json/examples/forbidden"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/admin-panel-mastera-i-salony/paths/~1api~1admin~1moderation~1requests/get"}],"panels":[]}]},"httpPath":"/api/admin/moderation/requests"},{"label":"Одобрить заявку на модерацию","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/admin-panel-mastera-i-salony/paths/~1api~1admin~1moderation~1requests~1{requestid}~1approve/post","routeSlug":"/openapi/admin-panel-mastera-i-salony/paths/~1api~1admin~1moderation~1requests~1{requestid}~1approve/post","metadata":{"seo":{"title":"Одобрить заявку на модерацию","description":"Переводит заявку из PENDING в APPROVED.Требуется роль ADMIN и доступ MASTERS_AND_SALONS уровня FULL."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Одобрить заявку на модерацию","isWebhook":false,"pointer":"/paths/~1api~1admin~1moderation~1requests~1{requestId}~1approve/post","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Одобрить заявку на модерацию","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Переводит заявку из PENDING в APPROVED."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требуется роль "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ADMIN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и доступ MASTERS_AND_SALONS уровня FULL."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"requestId","in":"path","schemaId":"schema_97","required":true}],"pointer":"/paths/~1api~1admin~1moderation~1requests~1{requestId}~1approve/post/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/admin/moderation/requests/{requestId}/approve","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"requestId","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403","404","409"],"pointer":"/api/admin/moderation/requests/{requestId}/approve","href":"admin-panel-mastera-i-salony/paths/~1api~1admin~1moderation~1requests~1{requestid}~1approve/post","summary":"Одобрить заявку на модерацию","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Заявка одобрена"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminModerationDecisionApiResponse","exampleIds":["paths/~1api~1admin~1moderation~1requests~1{requestId}~1approve/post/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/AdminModerationDecisionApiResponse","exampleIds":["paths/~1api~1admin~1moderation~1requests~1{requestId}~1approve/post/responses/200/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1moderation~1requests~1{requestId}~1approve/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1moderation~1requests~1{requestId}~1approve/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1moderation~1requests~1{requestId}~1approve/post/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1moderation~1requests~1{requestId}~1approve/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1moderation~1requests~1{requestId}~1approve/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1moderation~1requests~1{requestId}~1approve/post/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1moderation~1requests~1{requestId}~1approve/post/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1moderation~1requests~1{requestId}~1approve/post/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1moderation~1requests~1{requestId}~1approve/post/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1moderation~1requests~1{requestId}~1approve/post/responses/403/content/application~1json/examples/forbidden"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрошенный ресурс не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1moderation~1requests~1{requestId}~1approve/post/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1moderation~1requests~1{requestId}~1approve/post/responses/404/content/application~1json/examples/not_found"]},{"code":"409","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрос конфликтует с текущим состоянием ресурса"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1moderation~1requests~1{requestId}~1approve/post/responses/409/content/application~1json/examples/conflict"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1moderation~1requests~1{requestId}~1approve/post/responses/409/content/application~1json/examples/conflict"]}],"pointer":"/paths/~1api~1admin~1moderation~1requests~1{requestId}~1approve/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/AdminModerationDecisionApiResponse","exampleIds":["paths/~1api~1admin~1moderation~1requests~1{requestId}~1approve/post/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminModerationDecisionApiResponse","exampleIds":["paths/~1api~1admin~1moderation~1requests~1{requestId}~1approve/post/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1moderation~1requests~1{requestId}~1approve/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1moderation~1requests~1{requestId}~1approve/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1moderation~1requests~1{requestId}~1approve/post/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1moderation~1requests~1{requestId}~1approve/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1moderation~1requests~1{requestId}~1approve/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1moderation~1requests~1{requestId}~1approve/post/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1moderation~1requests~1{requestId}~1approve/post/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1moderation~1requests~1{requestId}~1approve/post/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1moderation~1requests~1{requestId}~1approve/post/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1moderation~1requests~1{requestId}~1approve/post/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1moderation~1requests~1{requestId}~1approve/post/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1moderation~1requests~1{requestId}~1approve/post/responses/404/content/application~1json/examples/not_found"]}}},{"code":"409","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1moderation~1requests~1{requestId}~1approve/post/responses/409/content/application~1json/examples/conflict"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1moderation~1requests~1{requestId}~1approve/post/responses/409/content/application~1json/examples/conflict"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/admin-panel-mastera-i-salony/paths/~1api~1admin~1moderation~1requests~1{requestid}~1approve/post"}],"panels":[]}]},"httpPath":"/api/admin/moderation/requests/{requestId}/approve"},{"label":"Отклонить заявку на модерацию","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/admin-panel-mastera-i-salony/paths/~1api~1admin~1moderation~1requests~1{requestid}~1reject/post","routeSlug":"/openapi/admin-panel-mastera-i-salony/paths/~1api~1admin~1moderation~1requests~1{requestid}~1reject/post","metadata":{"seo":{"title":"Отклонить заявку на модерацию","description":"Переводит заявку из PENDING в REJECTED.Требуется роль ADMIN и доступ MASTERS_AND_SALONS уровня FULL."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Отклонить заявку на модерацию","isWebhook":false,"pointer":"/paths/~1api~1admin~1moderation~1requests~1{requestId}~1reject/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Отклонить заявку на модерацию","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Переводит заявку из PENDING в REJECTED."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требуется роль "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ADMIN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и доступ MASTERS_AND_SALONS уровня FULL."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"requestId","in":"path","schemaId":"schema_97","required":true}],"pointer":"/paths/~1api~1admin~1moderation~1requests~1{requestId}~1reject/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/RejectModerationRequestBody","exampleIds":["paths/~1api~1admin~1moderation~1requests~1{requestId}~1reject/post/requestBody/content/application~1json/example"]}},"schemaId":"components/schemas/RejectModerationRequestBody","exampleIds":["paths/~1api~1admin~1moderation~1requests~1{requestId}~1reject/post/requestBody/content/application~1json/example"],"pointer":"/paths/~1api~1admin~1moderation~1requests~1{requestId}~1reject/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/admin/moderation/requests/{requestId}/reject","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"requestId","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/RejectModerationRequestBody","exampleIds":["paths/~1api~1admin~1moderation~1requests~1{requestId}~1reject/post/requestBody/content/application~1json/example"]}},"responseCodes":["200","400","401","403","404","409"],"pointer":"/api/admin/moderation/requests/{requestId}/reject","href":"admin-panel-mastera-i-salony/paths/~1api~1admin~1moderation~1requests~1{requestid}~1reject/post","summary":"Отклонить заявку на модерацию","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/RejectModerationRequestBody","exampleIds":["paths/~1api~1admin~1moderation~1requests~1{requestId}~1reject/post/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/RejectModerationRequestBody","exampleIds":["paths/~1api~1admin~1moderation~1requests~1{requestId}~1reject/post/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Заявка отклонена"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminModerationDecisionApiResponse","exampleIds":["paths/~1api~1admin~1moderation~1requests~1{requestId}~1reject/post/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/AdminModerationDecisionApiResponse","exampleIds":["paths/~1api~1admin~1moderation~1requests~1{requestId}~1reject/post/responses/200/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1moderation~1requests~1{requestId}~1reject/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1moderation~1requests~1{requestId}~1reject/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1moderation~1requests~1{requestId}~1reject/post/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1moderation~1requests~1{requestId}~1reject/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1moderation~1requests~1{requestId}~1reject/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1moderation~1requests~1{requestId}~1reject/post/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1moderation~1requests~1{requestId}~1reject/post/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1moderation~1requests~1{requestId}~1reject/post/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1moderation~1requests~1{requestId}~1reject/post/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1moderation~1requests~1{requestId}~1reject/post/responses/403/content/application~1json/examples/forbidden"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрошенный ресурс не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1moderation~1requests~1{requestId}~1reject/post/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1moderation~1requests~1{requestId}~1reject/post/responses/404/content/application~1json/examples/not_found"]},{"code":"409","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрос конфликтует с текущим состоянием ресурса"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1moderation~1requests~1{requestId}~1reject/post/responses/409/content/application~1json/examples/conflict"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1moderation~1requests~1{requestId}~1reject/post/responses/409/content/application~1json/examples/conflict"]}],"pointer":"/paths/~1api~1admin~1moderation~1requests~1{requestId}~1reject/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/AdminModerationDecisionApiResponse","exampleIds":["paths/~1api~1admin~1moderation~1requests~1{requestId}~1reject/post/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminModerationDecisionApiResponse","exampleIds":["paths/~1api~1admin~1moderation~1requests~1{requestId}~1reject/post/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1moderation~1requests~1{requestId}~1reject/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1moderation~1requests~1{requestId}~1reject/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1moderation~1requests~1{requestId}~1reject/post/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1moderation~1requests~1{requestId}~1reject/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1moderation~1requests~1{requestId}~1reject/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1moderation~1requests~1{requestId}~1reject/post/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1moderation~1requests~1{requestId}~1reject/post/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1moderation~1requests~1{requestId}~1reject/post/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1moderation~1requests~1{requestId}~1reject/post/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1moderation~1requests~1{requestId}~1reject/post/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1moderation~1requests~1{requestId}~1reject/post/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1moderation~1requests~1{requestId}~1reject/post/responses/404/content/application~1json/examples/not_found"]}}},{"code":"409","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1moderation~1requests~1{requestId}~1reject/post/responses/409/content/application~1json/examples/conflict"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1moderation~1requests~1{requestId}~1reject/post/responses/409/content/application~1json/examples/conflict"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/admin-panel-mastera-i-salony/paths/~1api~1admin~1moderation~1requests~1{requestid}~1reject/post"}],"panels":[]}]},"httpPath":"/api/admin/moderation/requests/{requestId}/reject"},{"label":"Тестово отправить салон на модерацию","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/admin-panel-mastera-i-salony/paths/~1api~1admin~1moderation~1test~1salons~1{salonid}~1submit/post","routeSlug":"/openapi/admin-panel-mastera-i-salony/paths/~1api~1admin~1moderation~1test~1salons~1{salonid}~1submit/post","metadata":{"seo":{"title":"Тестово отправить салон на модерацию","description":"Создаёт PENDING-заявку для существующего салона. Нужен только для тестированияадминистративного сценария до реализации реальной отправки профиля на модерацию.Одновременно у салона может быть только одна PENDING-заявка.Требуется роль ADMIN и доступ MASTERS_AND_SALONS уровня FULL."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Тестово отправить салон на модерацию","isWebhook":false,"pointer":"/paths/~1api~1admin~1moderation~1test~1salons~1{salonId}~1submit/post","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Тестово отправить салон на модерацию","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Создаёт PENDING-заявку для существующего салона. Нужен только для тестирования"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"административного сценария до реализации реальной отправки профиля на модерацию."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Одновременно у салона может быть только одна PENDING-заявка."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требуется роль "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ADMIN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и доступ MASTERS_AND_SALONS уровня FULL."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"salonId","in":"path","schemaId":"schema_97","required":true}],"pointer":"/paths/~1api~1admin~1moderation~1test~1salons~1{salonId}~1submit/post/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/admin/moderation/test/salons/{salonId}/submit","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"salonId","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["201","400","401","403","404","409"],"pointer":"/api/admin/moderation/test/salons/{salonId}/submit","href":"admin-panel-mastera-i-salony/paths/~1api~1admin~1moderation~1test~1salons~1{salonid}~1submit/post","summary":"Тестово отправить салон на модерацию","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Салон отправлен на модерацию"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminModerationSubmissionApiResponse","exampleIds":["paths/~1api~1admin~1moderation~1test~1salons~1{salonId}~1submit/post/responses/201/content/application~1json/example"]}},"schemaId":"components/schemas/AdminModerationSubmissionApiResponse","exampleIds":["paths/~1api~1admin~1moderation~1test~1salons~1{salonId}~1submit/post/responses/201/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1moderation~1test~1salons~1{salonId}~1submit/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1moderation~1test~1salons~1{salonId}~1submit/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1moderation~1test~1salons~1{salonId}~1submit/post/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1moderation~1test~1salons~1{salonId}~1submit/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1moderation~1test~1salons~1{salonId}~1submit/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1moderation~1test~1salons~1{salonId}~1submit/post/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1moderation~1test~1salons~1{salonId}~1submit/post/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1moderation~1test~1salons~1{salonId}~1submit/post/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1moderation~1test~1salons~1{salonId}~1submit/post/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1moderation~1test~1salons~1{salonId}~1submit/post/responses/403/content/application~1json/examples/forbidden"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрошенный ресурс не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1moderation~1test~1salons~1{salonId}~1submit/post/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1moderation~1test~1salons~1{salonId}~1submit/post/responses/404/content/application~1json/examples/not_found"]},{"code":"409","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрос конфликтует с текущим состоянием ресурса"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1moderation~1test~1salons~1{salonId}~1submit/post/responses/409/content/application~1json/examples/conflict"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1moderation~1test~1salons~1{salonId}~1submit/post/responses/409/content/application~1json/examples/conflict"]}],"pointer":"/paths/~1api~1admin~1moderation~1test~1salons~1{salonId}~1submit/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"201","schemaId":"components/schemas/AdminModerationSubmissionApiResponse","exampleIds":["paths/~1api~1admin~1moderation~1test~1salons~1{salonId}~1submit/post/responses/201/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminModerationSubmissionApiResponse","exampleIds":["paths/~1api~1admin~1moderation~1test~1salons~1{salonId}~1submit/post/responses/201/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1moderation~1test~1salons~1{salonId}~1submit/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1moderation~1test~1salons~1{salonId}~1submit/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1moderation~1test~1salons~1{salonId}~1submit/post/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1moderation~1test~1salons~1{salonId}~1submit/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1moderation~1test~1salons~1{salonId}~1submit/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1moderation~1test~1salons~1{salonId}~1submit/post/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1moderation~1test~1salons~1{salonId}~1submit/post/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1moderation~1test~1salons~1{salonId}~1submit/post/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1moderation~1test~1salons~1{salonId}~1submit/post/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1moderation~1test~1salons~1{salonId}~1submit/post/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1moderation~1test~1salons~1{salonId}~1submit/post/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1moderation~1test~1salons~1{salonId}~1submit/post/responses/404/content/application~1json/examples/not_found"]}}},{"code":"409","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1moderation~1test~1salons~1{salonId}~1submit/post/responses/409/content/application~1json/examples/conflict"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1moderation~1test~1salons~1{salonId}~1submit/post/responses/409/content/application~1json/examples/conflict"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/admin-panel-mastera-i-salony/paths/~1api~1admin~1moderation~1test~1salons~1{salonid}~1submit/post"}],"panels":[]}]},"httpPath":"/api/admin/moderation/test/salons/{salonId}/submit"}],"content":{"contentType":"group","meta":{"name":"Админ-панель — мастера и салоны"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Админ-панель — мастера и салоны","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Просмотр, изменение, блокировка и статистика мастеров и салонов."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/api/admin/block-reasons","summary":"Получить возможные причины блокировки","prefix":{"name":"get","color":"get"},"badges":[],"link":"/admin-panel-mastera-i-salony/paths/~1api~1admin~1block-reasons/get","deprecated":false},{"title":"/api/admin/masters-salons","summary":"Получить список мастеров и салонов","prefix":{"name":"get","color":"get"},"badges":[],"link":"/admin-panel-mastera-i-salony/paths/~1api~1admin~1masters-salons/get","deprecated":false},{"title":"/api/admin/masters-salons/stats","summary":"Получить статистику мастеров и салонов","prefix":{"name":"get","color":"get"},"badges":[],"link":"/admin-panel-mastera-i-salony/paths/~1api~1admin~1masters-salons~1stats/get","deprecated":false},{"title":"/api/admin/masters/{id}/available-categories","summary":"Получить доступные категории для мастера","prefix":{"name":"get","color":"get"},"badges":[],"link":"/admin-panel-mastera-i-salony/paths/~1api~1admin~1masters~1{id}~1available-categories/get","deprecated":false},{"title":"/api/admin/salons/{id}/available-categories","summary":"Получить доступные категории для салона","prefix":{"name":"get","color":"get"},"badges":[],"link":"/admin-panel-mastera-i-salony/paths/~1api~1admin~1salons~1{id}~1available-categories/get","deprecated":false},{"title":"/api/admin/masters/{id}","summary":"Получить профиль мастера в админ-панели","prefix":{"name":"get","color":"get"},"badges":[],"link":"/admin-panel-mastera-i-salony/paths/~1api~1admin~1masters~1{id}/get","deprecated":false},{"title":"/api/admin/masters/{id}","summary":"Частично изменить профиль мастера","prefix":{"name":"patch","color":"patch"},"badges":[],"link":"/admin-panel-mastera-i-salony/paths/~1api~1admin~1masters~1{id}/patch","deprecated":false},{"title":"/api/admin/salons/{id}","summary":"Получить профиль салона в админ-панели","prefix":{"name":"get","color":"get"},"badges":[],"link":"/admin-panel-mastera-i-salony/paths/~1api~1admin~1salons~1{id}/get","deprecated":false},{"title":"/api/admin/salons/{id}","summary":"Частично изменить профиль салона","prefix":{"name":"patch","color":"patch"},"badges":[],"link":"/admin-panel-mastera-i-salony/paths/~1api~1admin~1salons~1{id}/patch","deprecated":false},{"title":"/api/admin/masters/{id}/block","summary":"Заблокировать мастера","prefix":{"name":"post","color":"post"},"badges":[],"link":"/admin-panel-mastera-i-salony/paths/~1api~1admin~1masters~1{id}~1block/post","deprecated":false},{"title":"/api/admin/masters/{id}/unblock","summary":"Разблокировать мастера","prefix":{"name":"post","color":"post"},"badges":[],"link":"/admin-panel-mastera-i-salony/paths/~1api~1admin~1masters~1{id}~1unblock/post","deprecated":false},{"title":"/api/admin/salons/{id}/block","summary":"Заблокировать салон","prefix":{"name":"post","color":"post"},"badges":[],"link":"/admin-panel-mastera-i-salony/paths/~1api~1admin~1salons~1{id}~1block/post","deprecated":false},{"title":"/api/admin/salons/{id}/unblock","summary":"Разблокировать салон","prefix":{"name":"post","color":"post"},"badges":[],"link":"/admin-panel-mastera-i-salony/paths/~1api~1admin~1salons~1{id}~1unblock/post","deprecated":false},{"title":"/api/admin/moderation/requests","summary":"Получить заявки на модерацию","prefix":{"name":"get","color":"get"},"badges":[],"link":"/admin-panel-mastera-i-salony/paths/~1api~1admin~1moderation~1requests/get","deprecated":false},{"title":"/api/admin/moderation/requests/{requestId}/approve","summary":"Одобрить заявку на модерацию","prefix":{"name":"post","color":"post"},"badges":[],"link":"/admin-panel-mastera-i-salony/paths/~1api~1admin~1moderation~1requests~1{requestid}~1approve/post","deprecated":false},{"title":"/api/admin/moderation/requests/{requestId}/reject","summary":"Отклонить заявку на модерацию","prefix":{"name":"post","color":"post"},"badges":[],"link":"/admin-panel-mastera-i-salony/paths/~1api~1admin~1moderation~1requests~1{requestid}~1reject/post","deprecated":false},{"title":"/api/admin/moderation/test/salons/{salonId}/submit","summary":"Тестово отправить салон на модерацию","prefix":{"name":"post","color":"post"},"badges":[],"link":"/admin-panel-mastera-i-salony/paths/~1api~1admin~1moderation~1test~1salons~1{salonid}~1submit/post","deprecated":false}]}]}]}]}},{"type":"group","label":"Админ-панель — чат поддержки","link":"/openapi/admin-panel-chat-podderzhki","routeSlug":"/openapi/admin-panel-chat-podderzhki","items":[{"label":"Получить обращения в поддержку","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/admin-panel-chat-podderzhki/paths/~1api~1admin~1support~1chats/get","routeSlug":"/openapi/admin-panel-chat-podderzhki/paths/~1api~1admin~1support~1chats/get","metadata":{"seo":{"title":"Получить обращения в поддержку","description":"Возвращает последние обращения пользователей, отсортированные по временипоследнего сообщения от новых к старым. Требуется доступ SUPPORT:READ.query ищет по имени, фамилии и полному имени пользователя."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить обращения в поддержку","isWebhook":false,"pointer":"/paths/~1api~1admin~1support~1chats/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить обращения в поддержку","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает последние обращения пользователей, отсортированные по времени"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"последнего сообщения от новых к старым. Требуется доступ "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SUPPORT:READ"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"query"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" ищет по имени, фамилии и полному имени пользователя."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"query","in":"query","schemaId":"schema_100","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Поиск по имени, фамилии или полному имени пользователя (например, "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Анна Тестовая"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]}]},{"name":"status","in":"query","schemaId":"schema_119","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"OPEN — открытые, CLOSED — закрытые, UNREAD — открытые и закрытые чаты с непрочитанными сообщениями клиента."},"children":[]}]}]}]},{"name":"unread","in":"query","schemaId":"schema_120","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Устаревший алиас фильтра непрочитанных сообщений; используйте status=UNREAD."},"children":[]}]}]}],"deprecated":true},{"name":"offset","in":"query","schemaId":"schema_92"},{"name":"limit","in":"query","schemaId":"schema_101"}],"pointer":"/paths/~1api~1admin~1support~1chats/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/admin/support/chats","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[{"name":"query","in":"query","required":false,"schemaId":"schema_100"},{"name":"status","in":"query","required":false,"schemaId":"components/schemas/SupportCaseStatus"},{"name":"unread","in":"query","required":false,"schemaId":"schema_120"},{"name":"offset","in":"query","required":false,"schemaId":"schema_92"},{"name":"limit","in":"query","required":false,"schemaId":"schema_101"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403"],"pointer":"/api/admin/support/chats","href":"admin-panel-chat-podderzhki/paths/~1api~1admin~1support~1chats/get","summary":"Получить обращения в поддержку","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Список обращений успешно получен"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminSupportChatListResponse"}},"schemaId":"components/schemas/AdminSupportChatListResponse"},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1support~1chats/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1support~1chats/get/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1support~1chats/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1support~1chats/get/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Нет роли "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ADMIN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" или недостаточно прав на соответствующий раздел админ-панели"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1support~1chats/get/responses/403/content/application~1json/examples/admin_role_required"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1support~1chats/get/responses/403/content/application~1json/examples/admin_role_required"]}],"pointer":"/paths/~1api~1admin~1support~1chats/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/AdminSupportChatListResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminSupportChatListResponse"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1support~1chats/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1support~1chats/get/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1support~1chats/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1support~1chats/get/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1support~1chats/get/responses/403/content/application~1json/examples/admin_role_required"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1support~1chats/get/responses/403/content/application~1json/examples/admin_role_required"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/admin-panel-chat-podderzhki/paths/~1api~1admin~1support~1chats/get"}],"panels":[]}]},"httpPath":"/api/admin/support/chats"},{"label":"Получить обращение в поддержку","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/admin-panel-chat-podderzhki/paths/~1api~1admin~1support~1chats~1{dialogid}/get","routeSlug":"/openapi/admin-panel-chat-podderzhki/paths/~1api~1admin~1support~1chats~1{dialogid}/get","metadata":{"seo":{"title":"Получить обращение в поддержку","description":"Требуется доступ SUPPORT:READ."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить обращение в поддержку","isWebhook":false,"pointer":"/paths/~1api~1admin~1support~1chats~1{dialogId}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить обращение в поддержку","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требуется доступ "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SUPPORT:READ"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"dialogId","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор приватного диалога пользователя с поддержкой."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1admin~1support~1chats~1{dialogId}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/admin/support/chats/{dialogId}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"dialogId","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403","404"],"pointer":"/api/admin/support/chats/{dialogId}","href":"admin-panel-chat-podderzhki/paths/~1api~1admin~1support~1chats~1{dialogid}/get","summary":"Получить обращение в поддержку","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Обращение успешно получено"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminSupportChatResponse"}},"schemaId":"components/schemas/AdminSupportChatResponse"},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1support~1chats~1{dialogId}/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1support~1chats~1{dialogId}/get/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1support~1chats~1{dialogId}/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1support~1chats~1{dialogId}/get/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Нет роли "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ADMIN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" или недостаточно прав на соответствующий раздел админ-панели"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1support~1chats~1{dialogId}/get/responses/403/content/application~1json/examples/admin_role_required"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1support~1chats~1{dialogId}/get/responses/403/content/application~1json/examples/admin_role_required"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрошенный ресурс не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}/get/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}/get/responses/404/content/application~1json/examples/not_found"]}],"pointer":"/paths/~1api~1admin~1support~1chats~1{dialogId}/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/AdminSupportChatResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminSupportChatResponse"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1support~1chats~1{dialogId}/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1support~1chats~1{dialogId}/get/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1support~1chats~1{dialogId}/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1support~1chats~1{dialogId}/get/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1support~1chats~1{dialogId}/get/responses/403/content/application~1json/examples/admin_role_required"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1support~1chats~1{dialogId}/get/responses/403/content/application~1json/examples/admin_role_required"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}/get/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}/get/responses/404/content/application~1json/examples/not_found"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/admin-panel-chat-podderzhki/paths/~1api~1admin~1support~1chats~1{dialogid}/get"}],"panels":[]}]},"httpPath":"/api/admin/support/chats/{dialogId}"},{"label":"Получить сообщения обращения","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/admin-panel-chat-podderzhki/paths/~1api~1admin~1support~1chats~1{dialogid}~1messages/get","routeSlug":"/openapi/admin-panel-chat-podderzhki/paths/~1api~1admin~1support~1chats~1{dialogid}~1messages/get","metadata":{"seo":{"title":"Получить сообщения обращения","description":"Основной способ пагинации — cursor: первый запрос выполняется без before_id,следующий — с next_before_id из ответа. offset сохранён для обратнойсовместимости и не может использоваться вместе с before_id.В админском представлении сообщения поддержки содержат real_sender_id,real_sender_first_name и real_sender_last_name."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить сообщения обращения","isWebhook":false,"pointer":"/paths/~1api~1admin~1support~1chats~1{dialogId}~1messages/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить сообщения обращения","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Основной способ пагинации — cursor: первый запрос выполняется без "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"before_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":","},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"следующий — с "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"next_before_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" из ответа. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"offset"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" сохранён для обратной"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"совместимости и не может использоваться вместе с "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"before_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"В админском представлении сообщения поддержки содержат "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"real_sender_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":","},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"real_sender_first_name"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"real_sender_last_name"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"dialogId","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор приватного диалога пользователя с поддержкой."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1admin~1support~1chats~1{dialogId}~1messages/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"before_id","in":"query","schemaId":"schema_97"},{"name":"offset","in":"query","schemaId":"schema_121"},{"name":"limit","in":"query","schemaId":"schema_109"}],"pointer":"/paths/~1api~1admin~1support~1chats~1{dialogId}~1messages/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/admin/support/chats/{dialogId}/messages","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"dialogId","in":"path","required":true,"schemaId":"schema_97"}],"query":[{"name":"before_id","in":"query","required":false,"schemaId":"schema_97"},{"name":"offset","in":"query","required":false,"schemaId":"schema_121"},{"name":"limit","in":"query","required":false,"schemaId":"schema_109"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403","404"],"pointer":"/api/admin/support/chats/{dialogId}/messages","href":"admin-panel-chat-podderzhki/paths/~1api~1admin~1support~1chats~1{dialogid}~1messages/get","summary":"Получить сообщения обращения","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Сообщения успешно получены"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminSupportMessagePageResponse"}},"schemaId":"components/schemas/AdminSupportMessagePageResponse"},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1messages/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1support~1chats~1{dialogId}~1messages/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1support~1chats~1{dialogId}~1messages/get/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1messages/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1support~1chats~1{dialogId}~1messages/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1support~1chats~1{dialogId}~1messages/get/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1messages/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1messages/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Нет роли "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ADMIN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" или недостаточно прав на соответствующий раздел админ-панели"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1messages/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1support~1chats~1{dialogId}~1messages/get/responses/403/content/application~1json/examples/admin_role_required"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1messages/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1support~1chats~1{dialogId}~1messages/get/responses/403/content/application~1json/examples/admin_role_required"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрошенный ресурс не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1messages/get/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1messages/get/responses/404/content/application~1json/examples/not_found"]}],"pointer":"/paths/~1api~1admin~1support~1chats~1{dialogId}~1messages/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/AdminSupportMessagePageResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminSupportMessagePageResponse"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1messages/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1support~1chats~1{dialogId}~1messages/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1support~1chats~1{dialogId}~1messages/get/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1messages/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1support~1chats~1{dialogId}~1messages/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1support~1chats~1{dialogId}~1messages/get/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1messages/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1messages/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1messages/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1support~1chats~1{dialogId}~1messages/get/responses/403/content/application~1json/examples/admin_role_required"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1messages/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1support~1chats~1{dialogId}~1messages/get/responses/403/content/application~1json/examples/admin_role_required"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1messages/get/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1messages/get/responses/404/content/application~1json/examples/not_found"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/admin-panel-chat-podderzhki/paths/~1api~1admin~1support~1chats~1{dialogid}~1messages/get"}],"panels":[]}]},"httpPath":"/api/admin/support/chats/{dialogId}/messages"},{"label":"Отправить сообщение от имени поддержки","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/admin-panel-chat-podderzhki/paths/~1api~1admin~1support~1chats~1{dialogid}~1messages~1send/post","routeSlug":"/openapi/admin-panel-chat-podderzhki/paths/~1api~1admin~1support~1chats~1{dialogid}~1messages~1send/post","metadata":{"seo":{"title":"Отправить сообщение от имени поддержки","description":"Требуется доступ SUPPORT:FULL. Публичный отправитель сообщения — системныйаккаунт поддержки (sender_id = -1), реальный администратор сохраняется отдельно.Для ответа на конкретное сообщение передайте его ID в reply_message_id."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Отправить сообщение от имени поддержки","isWebhook":false,"pointer":"/paths/~1api~1admin~1support~1chats~1{dialogId}~1messages~1send/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Отправить сообщение от имени поддержки","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требуется доступ "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SUPPORT:FULL"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Публичный отправитель сообщения — системный"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"аккаунт поддержки ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"sender_id = -1"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"), реальный администратор сохраняется отдельно."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Для ответа на конкретное сообщение передайте его ID в "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"reply_message_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"dialogId","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор приватного диалога пользователя с поддержкой."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1admin~1support~1chats~1{dialogId}~1messages~1send/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/SupportSendMessageBody"}},"schemaId":"components/schemas/SupportSendMessageBody","pointer":"/paths/~1api~1admin~1support~1chats~1{dialogId}~1messages~1send/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/admin/support/chats/{dialogId}/messages/send","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"dialogId","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/SupportSendMessageBody"}},"responseCodes":["201","400","401","403","404","409"],"pointer":"/api/admin/support/chats/{dialogId}/messages/send","href":"admin-panel-chat-podderzhki/paths/~1api~1admin~1support~1chats~1{dialogid}~1messages~1send/post","summary":"Отправить сообщение от имени поддержки","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/SupportSendMessageBody","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/SupportSendMessageBody"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Сообщение поддержки отправлено"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SupportSendResponse"}},"schemaId":"components/schemas/SupportSendResponse"},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1messages~1send/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1support~1chats~1{dialogId}~1messages~1send/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1support~1chats~1{dialogId}~1messages~1send/post/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1messages~1send/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1support~1chats~1{dialogId}~1messages~1send/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1support~1chats~1{dialogId}~1messages~1send/post/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1messages~1send/post/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1messages~1send/post/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Нет роли "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ADMIN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" или недостаточно прав на соответствующий раздел админ-панели"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1messages~1send/post/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1support~1chats~1{dialogId}~1messages~1send/post/responses/403/content/application~1json/examples/admin_role_required"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1messages~1send/post/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1support~1chats~1{dialogId}~1messages~1send/post/responses/403/content/application~1json/examples/admin_role_required"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрошенный ресурс не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1messages~1send/post/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1messages~1send/post/responses/404/content/application~1json/examples/not_found"]},{"code":"409","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрос конфликтует с текущим состоянием ресурса"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1messages~1send/post/responses/409/content/application~1json/examples/conflict"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1messages~1send/post/responses/409/content/application~1json/examples/conflict"]}],"pointer":"/paths/~1api~1admin~1support~1chats~1{dialogId}~1messages~1send/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"201","schemaId":"components/schemas/SupportSendResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SupportSendResponse"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1messages~1send/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1support~1chats~1{dialogId}~1messages~1send/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1support~1chats~1{dialogId}~1messages~1send/post/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1messages~1send/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1support~1chats~1{dialogId}~1messages~1send/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1support~1chats~1{dialogId}~1messages~1send/post/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1messages~1send/post/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1messages~1send/post/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1messages~1send/post/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1support~1chats~1{dialogId}~1messages~1send/post/responses/403/content/application~1json/examples/admin_role_required"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1messages~1send/post/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1support~1chats~1{dialogId}~1messages~1send/post/responses/403/content/application~1json/examples/admin_role_required"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1messages~1send/post/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1messages~1send/post/responses/404/content/application~1json/examples/not_found"]}}},{"code":"409","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1messages~1send/post/responses/409/content/application~1json/examples/conflict"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1messages~1send/post/responses/409/content/application~1json/examples/conflict"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/admin-panel-chat-podderzhki/paths/~1api~1admin~1support~1chats~1{dialogid}~1messages~1send/post"}],"panels":[]}]},"httpPath":"/api/admin/support/chats/{dialogId}/messages/send"},{"label":"Отправить сообщение поддержки салону","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/admin-panel-chat-podderzhki/paths/~1api~1admin~1support~1salons~1{salonid}~1messages~1send/post","routeSlug":"/openapi/admin-panel-chat-podderzhki/paths/~1api~1admin~1support~1salons~1{salonid}~1messages~1send/post","metadata":{"seo":{"title":"Отправить сообщение поддержки салону","description":"Требуется доступ SUPPORT:FULL. Находит владельца по salonId, создаёт принеобходимости единый диалог владельца салона с поддержкой и отправляет сообщениеот имени системного аккаунта поддержки. Реальный администратор сохраняется отдельно."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Отправить сообщение поддержки салону","isWebhook":false,"pointer":"/paths/~1api~1admin~1support~1salons~1{salonId}~1messages~1send/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Отправить сообщение поддержки салону","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требуется доступ "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SUPPORT:FULL"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Находит владельца по "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"salonId"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", создаёт при"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"необходимости единый диалог владельца салона с поддержкой и отправляет сообщение"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"от имени системного аккаунта поддержки. Реальный администратор сохраняется отдельно."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"salonId","in":"path","schemaId":"schema_97","required":true}],"pointer":"/paths/~1api~1admin~1support~1salons~1{salonId}~1messages~1send/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/SupportSendMessageBody"}},"schemaId":"components/schemas/SupportSendMessageBody","pointer":"/paths/~1api~1admin~1support~1salons~1{salonId}~1messages~1send/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/admin/support/salons/{salonId}/messages/send","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"salonId","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/SupportSendMessageBody"}},"responseCodes":["201","400","401","403","404"],"pointer":"/api/admin/support/salons/{salonId}/messages/send","href":"admin-panel-chat-podderzhki/paths/~1api~1admin~1support~1salons~1{salonid}~1messages~1send/post","summary":"Отправить сообщение поддержки салону","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/SupportSendMessageBody","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/SupportSendMessageBody"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Сообщение поддержки отправлено владельцу салона"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SupportSendResponse"}},"schemaId":"components/schemas/SupportSendResponse"},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1salons~1{salonId}~1messages~1send/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1support~1salons~1{salonId}~1messages~1send/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1support~1salons~1{salonId}~1messages~1send/post/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1salons~1{salonId}~1messages~1send/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1support~1salons~1{salonId}~1messages~1send/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1support~1salons~1{salonId}~1messages~1send/post/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1salons~1{salonId}~1messages~1send/post/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1salons~1{salonId}~1messages~1send/post/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Нет роли "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ADMIN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" или недостаточно прав на соответствующий раздел админ-панели"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1salons~1{salonId}~1messages~1send/post/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1support~1salons~1{salonId}~1messages~1send/post/responses/403/content/application~1json/examples/admin_role_required"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1salons~1{salonId}~1messages~1send/post/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1support~1salons~1{salonId}~1messages~1send/post/responses/403/content/application~1json/examples/admin_role_required"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрошенный ресурс не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1salons~1{salonId}~1messages~1send/post/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1salons~1{salonId}~1messages~1send/post/responses/404/content/application~1json/examples/not_found"]}],"pointer":"/paths/~1api~1admin~1support~1salons~1{salonId}~1messages~1send/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"201","schemaId":"components/schemas/SupportSendResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SupportSendResponse"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1salons~1{salonId}~1messages~1send/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1support~1salons~1{salonId}~1messages~1send/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1support~1salons~1{salonId}~1messages~1send/post/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1salons~1{salonId}~1messages~1send/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1support~1salons~1{salonId}~1messages~1send/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1support~1salons~1{salonId}~1messages~1send/post/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1salons~1{salonId}~1messages~1send/post/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1salons~1{salonId}~1messages~1send/post/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1salons~1{salonId}~1messages~1send/post/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1support~1salons~1{salonId}~1messages~1send/post/responses/403/content/application~1json/examples/admin_role_required"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1salons~1{salonId}~1messages~1send/post/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1support~1salons~1{salonId}~1messages~1send/post/responses/403/content/application~1json/examples/admin_role_required"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1salons~1{salonId}~1messages~1send/post/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1salons~1{salonId}~1messages~1send/post/responses/404/content/application~1json/examples/not_found"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/admin-panel-chat-podderzhki/paths/~1api~1admin~1support~1salons~1{salonid}~1messages~1send/post"}],"panels":[]}]},"httpPath":"/api/admin/support/salons/{salonId}/messages/send"},{"label":"Запросить подтверждение решения проблемы","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/admin-panel-chat-podderzhki/paths/~1api~1admin~1support~1chats~1{dialogid}~1resolution-request/post","routeSlug":"/openapi/admin-panel-chat-podderzhki/paths/~1api~1admin~1support~1chats~1{dialogid}~1resolution-request/post","metadata":{"seo":{"title":"Запросить подтверждение решения проблемы","description":"Требуется SUPPORT:FULL. Фактический статус обращения остаётся OPEN, но вадминистративных списках и WS-статусах обращение отображается как CLOSED,пока ожидается ответ клиента. Пользователю отправляется служебное сообщениес вариантами RESOLVED и NOT_RESOLVED."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Запросить подтверждение решения проблемы","isWebhook":false,"pointer":"/paths/~1api~1admin~1support~1chats~1{dialogId}~1resolution-request/post","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Запросить подтверждение решения проблемы","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требуется "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SUPPORT:FULL"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Фактический статус обращения остаётся "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"OPEN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", но в"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"административных списках и WS-статусах обращение отображается как "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CLOSED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":","},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"пока ожидается ответ клиента. Пользователю отправляется служебное сообщение"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"с вариантами "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"RESOLVED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"NOT_RESOLVED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"dialogId","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор приватного диалога пользователя с поддержкой."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1admin~1support~1chats~1{dialogId}~1resolution-request/post/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/admin/support/chats/{dialogId}/resolution-request","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"dialogId","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403","404","409"],"pointer":"/api/admin/support/chats/{dialogId}/resolution-request","href":"admin-panel-chat-podderzhki/paths/~1api~1admin~1support~1chats~1{dialogid}~1resolution-request/post","summary":"Запросить подтверждение решения проблемы","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрос подтверждения отправлен"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SupportSendResponse"}},"schemaId":"components/schemas/SupportSendResponse"},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1resolution-request/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1support~1chats~1{dialogId}~1resolution-request/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1support~1chats~1{dialogId}~1resolution-request/post/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1resolution-request/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1support~1chats~1{dialogId}~1resolution-request/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1support~1chats~1{dialogId}~1resolution-request/post/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1resolution-request/post/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1resolution-request/post/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Нет роли "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ADMIN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" или недостаточно прав на соответствующий раздел админ-панели"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1resolution-request/post/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1support~1chats~1{dialogId}~1resolution-request/post/responses/403/content/application~1json/examples/admin_role_required"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1resolution-request/post/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1support~1chats~1{dialogId}~1resolution-request/post/responses/403/content/application~1json/examples/admin_role_required"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрошенный ресурс не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1resolution-request/post/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1resolution-request/post/responses/404/content/application~1json/examples/not_found"]},{"code":"409","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрос конфликтует с текущим состоянием ресурса"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1resolution-request/post/responses/409/content/application~1json/examples/conflict"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1resolution-request/post/responses/409/content/application~1json/examples/conflict"]}],"pointer":"/paths/~1api~1admin~1support~1chats~1{dialogId}~1resolution-request/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/SupportSendResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SupportSendResponse"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1resolution-request/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1support~1chats~1{dialogId}~1resolution-request/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1support~1chats~1{dialogId}~1resolution-request/post/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1resolution-request/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1support~1chats~1{dialogId}~1resolution-request/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1support~1chats~1{dialogId}~1resolution-request/post/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1resolution-request/post/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1resolution-request/post/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1resolution-request/post/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1support~1chats~1{dialogId}~1resolution-request/post/responses/403/content/application~1json/examples/admin_role_required"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1resolution-request/post/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1support~1chats~1{dialogId}~1resolution-request/post/responses/403/content/application~1json/examples/admin_role_required"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1resolution-request/post/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1resolution-request/post/responses/404/content/application~1json/examples/not_found"]}}},{"code":"409","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1resolution-request/post/responses/409/content/application~1json/examples/conflict"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1resolution-request/post/responses/409/content/application~1json/examples/conflict"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/admin-panel-chat-podderzhki/paths/~1api~1admin~1support~1chats~1{dialogid}~1resolution-request/post"}],"panels":[]}]},"httpPath":"/api/admin/support/chats/{dialogId}/resolution-request"},{"label":"Повторно открыть закрытое обращение","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/admin-panel-chat-podderzhki/paths/~1api~1admin~1support~1chats~1{dialogid}~1reopen/post","routeSlug":"/openapi/admin-panel-chat-podderzhki/paths/~1api~1admin~1support~1chats~1{dialogid}~1reopen/post","metadata":{"seo":{"title":"Повторно открыть закрытое обращение","description":"Создаёт для того же диалога новое обращение со статусом OPEN. Требуется SUPPORT:FULL."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Повторно открыть закрытое обращение","isWebhook":false,"pointer":"/paths/~1api~1admin~1support~1chats~1{dialogId}~1reopen/post","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Повторно открыть закрытое обращение","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Создаёт для того же диалога новое обращение со статусом "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"OPEN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Требуется "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SUPPORT:FULL"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"dialogId","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор приватного диалога пользователя с поддержкой."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1admin~1support~1chats~1{dialogId}~1reopen/post/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/admin/support/chats/{dialogId}/reopen","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"dialogId","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403","404","409"],"pointer":"/api/admin/support/chats/{dialogId}/reopen","href":"admin-panel-chat-podderzhki/paths/~1api~1admin~1support~1chats~1{dialogid}~1reopen/post","summary":"Повторно открыть закрытое обращение","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Обращение повторно открыто"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminSupportChatResponse"}},"schemaId":"components/schemas/AdminSupportChatResponse"},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1reopen/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1support~1chats~1{dialogId}~1reopen/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1support~1chats~1{dialogId}~1reopen/post/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1reopen/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1support~1chats~1{dialogId}~1reopen/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1support~1chats~1{dialogId}~1reopen/post/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1reopen/post/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1reopen/post/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Нет роли "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ADMIN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" или недостаточно прав на соответствующий раздел админ-панели"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1reopen/post/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1support~1chats~1{dialogId}~1reopen/post/responses/403/content/application~1json/examples/admin_role_required"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1reopen/post/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1support~1chats~1{dialogId}~1reopen/post/responses/403/content/application~1json/examples/admin_role_required"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрошенный ресурс не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1reopen/post/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1reopen/post/responses/404/content/application~1json/examples/not_found"]},{"code":"409","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрос конфликтует с текущим состоянием ресурса"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1reopen/post/responses/409/content/application~1json/examples/conflict"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1reopen/post/responses/409/content/application~1json/examples/conflict"]}],"pointer":"/paths/~1api~1admin~1support~1chats~1{dialogId}~1reopen/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/AdminSupportChatResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminSupportChatResponse"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1reopen/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1support~1chats~1{dialogId}~1reopen/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1support~1chats~1{dialogId}~1reopen/post/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1reopen/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1support~1chats~1{dialogId}~1reopen/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1support~1chats~1{dialogId}~1reopen/post/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1reopen/post/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1reopen/post/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1reopen/post/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1support~1chats~1{dialogId}~1reopen/post/responses/403/content/application~1json/examples/admin_role_required"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1reopen/post/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1support~1chats~1{dialogId}~1reopen/post/responses/403/content/application~1json/examples/admin_role_required"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1reopen/post/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1reopen/post/responses/404/content/application~1json/examples/not_found"]}}},{"code":"409","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1reopen/post/responses/409/content/application~1json/examples/conflict"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1reopen/post/responses/409/content/application~1json/examples/conflict"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/admin-panel-chat-podderzhki/paths/~1api~1admin~1support~1chats~1{dialogid}~1reopen/post"}],"panels":[]}]},"httpPath":"/api/admin/support/chats/{dialogId}/reopen"},{"label":"Отметить сообщения обращения прочитанными","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/admin-panel-chat-podderzhki/paths/~1api~1admin~1support~1chats~1{dialogid}~1read/post","routeSlug":"/openapi/admin-panel-chat-podderzhki/paths/~1api~1admin~1support~1chats~1{dialogid}~1read/post","metadata":{"seo":{"title":"Отметить сообщения обращения прочитанными","description":"Помечает сообщения пользователя до указанного ID включительно. Требуется SUPPORT:FULL."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Отметить сообщения обращения прочитанными","isWebhook":false,"pointer":"/paths/~1api~1admin~1support~1chats~1{dialogId}~1read/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Отметить сообщения обращения прочитанными","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Помечает сообщения пользователя до указанного ID включительно. Требуется "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SUPPORT:FULL"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"dialogId","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор приватного диалога пользователя с поддержкой."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1admin~1support~1chats~1{dialogId}~1read/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/AdminSupportReadBody"}},"schemaId":"components/schemas/AdminSupportReadBody","pointer":"/paths/~1api~1admin~1support~1chats~1{dialogId}~1read/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/admin/support/chats/{dialogId}/read","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"dialogId","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/AdminSupportReadBody"}},"responseCodes":["200","400","401","403","404"],"pointer":"/api/admin/support/chats/{dialogId}/read","href":"admin-panel-chat-podderzhki/paths/~1api~1admin~1support~1chats~1{dialogid}~1read/post","summary":"Отметить сообщения обращения прочитанными","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/AdminSupportReadBody","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/AdminSupportReadBody"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Сообщения отмечены прочитанными"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminSupportReadResponse"}},"schemaId":"components/schemas/AdminSupportReadResponse"},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1read/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1support~1chats~1{dialogId}~1read/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1support~1chats~1{dialogId}~1read/post/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1read/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1support~1chats~1{dialogId}~1read/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1support~1chats~1{dialogId}~1read/post/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1read/post/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1read/post/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Нет роли "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ADMIN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" или недостаточно прав на соответствующий раздел админ-панели"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1read/post/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1support~1chats~1{dialogId}~1read/post/responses/403/content/application~1json/examples/admin_role_required"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1read/post/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1support~1chats~1{dialogId}~1read/post/responses/403/content/application~1json/examples/admin_role_required"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрошенный ресурс не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1read/post/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1read/post/responses/404/content/application~1json/examples/not_found"]}],"pointer":"/paths/~1api~1admin~1support~1chats~1{dialogId}~1read/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/AdminSupportReadResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminSupportReadResponse"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1read/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1support~1chats~1{dialogId}~1read/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1support~1chats~1{dialogId}~1read/post/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1read/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1support~1chats~1{dialogId}~1read/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1support~1chats~1{dialogId}~1read/post/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1read/post/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1read/post/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1read/post/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1support~1chats~1{dialogId}~1read/post/responses/403/content/application~1json/examples/admin_role_required"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1read/post/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1support~1chats~1{dialogId}~1read/post/responses/403/content/application~1json/examples/admin_role_required"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1read/post/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1support~1chats~1{dialogId}~1read/post/responses/404/content/application~1json/examples/not_found"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/admin-panel-chat-podderzhki/paths/~1api~1admin~1support~1chats~1{dialogid}~1read/post"}],"panels":[]}]},"httpPath":"/api/admin/support/chats/{dialogId}/read"},{"label":"Отправить сообщение поддержки через WebSocket","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/admin-panel-chat-podderzhki/paths/~1app~1admin~1support.send/post","routeSlug":"/openapi/admin-panel-chat-podderzhki/paths/~1app~1admin~1support.send/post","metadata":{"seo":{"title":"Отправить сообщение поддержки через WebSocket","description":"STOMP destination: /app/admin/support.send. Требуется право SUPPORT:FULL."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Отправить сообщение поддержки через WebSocket","isWebhook":false,"pointer":"/paths/~1app~1admin~1support.send/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Отправить сообщение поддержки через WebSocket","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"STOMP destination: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/app/admin/support.send"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Требуется право "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SUPPORT:FULL"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Сообщение получают все подключённые администраторы с "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SUPPORT:READ"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" или"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SUPPORT:FULL"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" в "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/user/queue/admin.support.delivered"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Пользователь получает"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"его в "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/user/queue/chat.new_message"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Изменения статуса"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"обращения рассылаются администраторам в "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/user/queue/admin.support.status"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/AdminSupportWsSendMessageBody"}},"schemaId":"components/schemas/AdminSupportWsSendMessageBody","pointer":"/paths/~1app~1admin~1support.send/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/app/admin/support.send","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"components/schemas/AdminSupportWsSendMessageBody"}},"responseCodes":["200","default"],"pointer":"/app/admin/support.send","href":"admin-panel-chat-podderzhki/paths/~1app~1admin~1support.send/post","summary":"Отправить сообщение поддержки через WebSocket"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/AdminSupportWsSendMessageBody","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/AdminSupportWsSendMessageBody"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Сообщение поддержки для всех подключённых администраторов"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SupportSendResult"}},"schemaId":"components/schemas/SupportSendResult"},{"code":"default","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Ошибка в "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/user/queue/errors"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/WsErrorResponse"}},"schemaId":"components/schemas/WsErrorResponse"}],"pointer":"/paths/~1app~1admin~1support.send/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/SupportSendResult","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SupportSendResult"}}},{"code":"default","schemaId":"components/schemas/WsErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/WsErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/admin-panel-chat-podderzhki/paths/~1app~1admin~1support.send/post"}],"panels":[]}]},"httpPath":"/app/admin/support.send"},{"label":"Подписка администраторов на сообщения поддержки","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/admin-panel-chat-podderzhki/paths/~1user~1queue~1admin.support.delivered/get","routeSlug":"/openapi/admin-panel-chat-podderzhki/paths/~1user~1queue~1admin.support.delivered/get","metadata":{"seo":{"title":"Подписка администраторов на сообщения поддержки","description":"STOMP-очередь всех подключённых администраторов с правом SUPPORT:READ илиSUPPORT:FULL. Все сообщения support-диалога, включая сообщения клиента,менеджера и автоматические сообщения поддержки, приходят сюда. В messages[]передаётся реальный автор менеджерского сообщения через real_sender_id."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Подписка администраторов на сообщения поддержки","isWebhook":false,"pointer":"/paths/~1user~1queue~1admin.support.delivered/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Подписка администраторов на сообщения поддержки","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"STOMP-очередь всех подключённых администраторов с правом "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SUPPORT:READ"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" или"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SUPPORT:FULL"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Все сообщения support-диалога, включая сообщения клиента,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"менеджера и автоматические сообщения поддержки, приходят сюда. В "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"messages[]"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"передаётся реальный автор менеджерского сообщения через "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"real_sender_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/user/queue/admin.support.delivered","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200"],"pointer":"/user/queue/admin.support.delivered","href":"admin-panel-chat-podderzhki/paths/~1user~1queue~1admin.support.delivered/get","summary":"Подписка администраторов на сообщения поддержки"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Сообщение поддержки доставлено администраторам"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SupportSendResult"}},"schemaId":"components/schemas/SupportSendResult"}],"pointer":"/paths/~1user~1queue~1admin.support.delivered/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/SupportSendResult","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SupportSendResult"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/admin-panel-chat-podderzhki/paths/~1user~1queue~1admin.support.delivered/get"}],"panels":[]}]},"httpPath":"/user/queue/admin.support.delivered"},{"label":"Подписка администраторов на новые сообщения поддержки","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/admin-panel-chat-podderzhki/paths/~1user~1queue~1admin.support.new_message/get","routeSlug":"/openapi/admin-panel-chat-podderzhki/paths/~1user~1queue~1admin.support.new_message/get","metadata":{"seo":{"title":"Подписка администраторов на новые сообщения поддержки","description":"Канал больше не используется для новых сообщений поддержки. Все сообщенияпередаются через /user/queue/admin.support.delivered."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Подписка администраторов на новые сообщения поддержки","isWebhook":false,"pointer":"/paths/~1user~1queue~1admin.support.new_message/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Подписка администраторов на новые сообщения поддержки","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Канал больше не используется для новых сообщений поддержки. Все сообщения"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"передаются через "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/user/queue/admin.support.delivered"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/user/queue/admin.support.new_message","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200"],"pointer":"/user/queue/admin.support.new_message","href":"admin-panel-chat-podderzhki/paths/~1user~1queue~1admin.support.new_message/get","summary":"Подписка администраторов на новые сообщения поддержки"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Устаревший канал новых сообщений поддержки"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SupportSendResult"}},"schemaId":"components/schemas/SupportSendResult"}],"pointer":"/paths/~1user~1queue~1admin.support.new_message/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/SupportSendResult","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SupportSendResult"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/admin-panel-chat-podderzhki/paths/~1user~1queue~1admin.support.new_message/get"}],"panels":[]}]},"httpPath":"/user/queue/admin.support.new_message"},{"label":"Подписка администраторов на изменение статуса обращения","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/admin-panel-chat-podderzhki/paths/~1user~1queue~1admin.support.status/get","routeSlug":"/openapi/admin-panel-chat-podderzhki/paths/~1user~1queue~1admin.support.status/get","metadata":{"seo":{"title":"Подписка администраторов на изменение статуса обращения","description":"Персональная STOMP-очередь всех подключённых администраторов с правомSUPPORT:READ или SUPPORT:FULL. Уведомляет о запросе подтверждения решения,закрытии и повторном открытии обращения. При активном запросе подтвержденияменеджер получает status = CLOSED, хотя фактический статус в базе остаётсяOPEN; наличие resolution_requested_at указывает на ожидаемый ответ клиента."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Подписка администраторов на изменение статуса обращения","isWebhook":false,"pointer":"/paths/~1user~1queue~1admin.support.status/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Подписка администраторов на изменение статуса обращения","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Персональная STOMP-очередь всех подключённых администраторов с правом"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SUPPORT:READ"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" или "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SUPPORT:FULL"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Уведомляет о запросе подтверждения решения,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"закрытии и повторном открытии обращения. При активном запросе подтверждения"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"менеджер получает "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"status = CLOSED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", хотя фактический статус в базе остаётся"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"OPEN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; наличие "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"resolution_requested_at"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" указывает на ожидаемый ответ клиента."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/user/queue/admin.support.status","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200"],"pointer":"/user/queue/admin.support.status","href":"admin-panel-chat-podderzhki/paths/~1user~1queue~1admin.support.status/get","summary":"Подписка администраторов на изменение статуса обращения"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Состояние обращения в поддержку изменилось"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SupportStatusWsResponse"}},"schemaId":"components/schemas/SupportStatusWsResponse"}],"pointer":"/paths/~1user~1queue~1admin.support.status/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/SupportStatusWsResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SupportStatusWsResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/admin-panel-chat-podderzhki/paths/~1user~1queue~1admin.support.status/get"}],"panels":[]}]},"httpPath":"/user/queue/admin.support.status"}],"content":{"contentType":"group","meta":{"name":"Админ-панель — чат поддержки"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Админ-панель — чат поддержки","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Обращения, сообщения и события чата поддержки для администраторов."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/api/admin/support/chats","summary":"Получить обращения в поддержку","prefix":{"name":"get","color":"get"},"badges":[],"link":"/admin-panel-chat-podderzhki/paths/~1api~1admin~1support~1chats/get","deprecated":false},{"title":"/api/admin/support/chats/{dialogId}","summary":"Получить обращение в поддержку","prefix":{"name":"get","color":"get"},"badges":[],"link":"/admin-panel-chat-podderzhki/paths/~1api~1admin~1support~1chats~1{dialogid}/get","deprecated":false},{"title":"/api/admin/support/chats/{dialogId}/messages","summary":"Получить сообщения обращения","prefix":{"name":"get","color":"get"},"badges":[],"link":"/admin-panel-chat-podderzhki/paths/~1api~1admin~1support~1chats~1{dialogid}~1messages/get","deprecated":false},{"title":"/api/admin/support/chats/{dialogId}/messages/send","summary":"Отправить сообщение от имени поддержки","prefix":{"name":"post","color":"post"},"badges":[],"link":"/admin-panel-chat-podderzhki/paths/~1api~1admin~1support~1chats~1{dialogid}~1messages~1send/post","deprecated":false},{"title":"/api/admin/support/salons/{salonId}/messages/send","summary":"Отправить сообщение поддержки салону","prefix":{"name":"post","color":"post"},"badges":[],"link":"/admin-panel-chat-podderzhki/paths/~1api~1admin~1support~1salons~1{salonid}~1messages~1send/post","deprecated":false},{"title":"/api/admin/support/chats/{dialogId}/resolution-request","summary":"Запросить подтверждение решения проблемы","prefix":{"name":"post","color":"post"},"badges":[],"link":"/admin-panel-chat-podderzhki/paths/~1api~1admin~1support~1chats~1{dialogid}~1resolution-request/post","deprecated":false},{"title":"/api/admin/support/chats/{dialogId}/reopen","summary":"Повторно открыть закрытое обращение","prefix":{"name":"post","color":"post"},"badges":[],"link":"/admin-panel-chat-podderzhki/paths/~1api~1admin~1support~1chats~1{dialogid}~1reopen/post","deprecated":false},{"title":"/api/admin/support/chats/{dialogId}/read","summary":"Отметить сообщения обращения прочитанными","prefix":{"name":"post","color":"post"},"badges":[],"link":"/admin-panel-chat-podderzhki/paths/~1api~1admin~1support~1chats~1{dialogid}~1read/post","deprecated":false},{"title":"/app/admin/support.send","summary":"Отправить сообщение поддержки через WebSocket","prefix":{"name":"post","color":"post"},"badges":[],"link":"/admin-panel-chat-podderzhki/paths/~1app~1admin~1support.send/post","deprecated":false},{"title":"/user/queue/admin.support.delivered","summary":"Подписка администраторов на сообщения поддержки","prefix":{"name":"get","color":"get"},"badges":[],"link":"/admin-panel-chat-podderzhki/paths/~1user~1queue~1admin.support.delivered/get","deprecated":false},{"title":"/user/queue/admin.support.new_message","summary":"Подписка администраторов на новые сообщения поддержки","prefix":{"name":"get","color":"get"},"badges":[],"link":"/admin-panel-chat-podderzhki/paths/~1user~1queue~1admin.support.new_message/get","deprecated":false},{"title":"/user/queue/admin.support.status","summary":"Подписка администраторов на изменение статуса обращения","prefix":{"name":"get","color":"get"},"badges":[],"link":"/admin-panel-chat-podderzhki/paths/~1user~1queue~1admin.support.status/get","deprecated":false}]}]}]}]}},{"type":"group","label":"Админ-панель — уведомления","link":"/openapi/admin-panel-uvedomleniya","routeSlug":"/openapi/admin-panel-uvedomleniya","items":[{"label":"Получить правила уведомлений и разовые рассылки","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/admin-panel-uvedomleniya/paths/~1api~1admin~1notifications/get","routeSlug":"/openapi/admin-panel-uvedomleniya/paths/~1api~1admin~1notifications/get","metadata":{"seo":{"title":"Получить правила уведомлений и разовые рассылки","description":"Возвращает созданные администратором уведомления с offset/limit-пагинацией.CONTINUOUS — постоянное правило, которое сохраняется до ручного удаления.SCHEDULED_ONCE — разовая рассылка, которая удаляется планировщиком после scheduled_at.Поиск выполняется по заголовку и тексту. Требуется доступ NOTIFICATIONS:READ."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить правила уведомлений и разовые рассылки","isWebhook":false,"pointer":"/paths/~1api~1admin~1notifications/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить правила уведомлений и разовые рассылки","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает созданные администратором уведомления с offset/limit-пагинацией."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CONTINUOUS"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — постоянное правило, которое сохраняется до ручного удаления."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SCHEDULED_ONCE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — разовая рассылка, которая удаляется планировщиком после "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"scheduled_at"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Поиск выполняется по заголовку и тексту. Требуется доступ "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"NOTIFICATIONS:READ"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"mode","in":"query","schemaId":"schema_122"},{"name":"query","in":"query","schemaId":"schema_100"},{"name":"offset","in":"query","schemaId":"schema_92"},{"name":"limit","in":"query","schemaId":"schema_101"}],"pointer":"/paths/~1api~1admin~1notifications/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/admin/notifications","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[{"name":"mode","in":"query","required":false,"schemaId":"components/schemas/NotificationExecutionMode"},{"name":"query","in":"query","required":false,"schemaId":"schema_100"},{"name":"offset","in":"query","required":false,"schemaId":"schema_92"},{"name":"limit","in":"query","required":false,"schemaId":"schema_101"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403","500"],"pointer":"/api/admin/notifications","href":"admin-panel-uvedomleniya/paths/~1api~1admin~1notifications/get","summary":"Получить правила уведомлений и разовые рассылки","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Список уведомлений успешно получен"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminNotificationListApiResponse","exampleIds":["paths/~1api~1admin~1notifications/get/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/AdminNotificationListApiResponse","exampleIds":["paths/~1api~1admin~1notifications/get/responses/200/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1notifications/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1notifications/get/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1notifications/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1notifications/get/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Нет роли "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ADMIN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" или недостаточно прав на соответствующий раздел админ-панели"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1notifications/get/responses/403/content/application~1json/examples/admin_role_required"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1notifications/get/responses/403/content/application~1json/examples/admin_role_required"]},{"code":"500","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Непредвиденная внутренняя ошибка сервера"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1api~1admin~1notifications/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/AdminNotificationListApiResponse","exampleIds":["paths/~1api~1admin~1notifications/get/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminNotificationListApiResponse","exampleIds":["paths/~1api~1admin~1notifications/get/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1notifications/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1notifications/get/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1notifications/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1notifications/get/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1notifications/get/responses/403/content/application~1json/examples/admin_role_required"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1notifications/get/responses/403/content/application~1json/examples/admin_role_required"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/admin-panel-uvedomleniya/paths/~1api~1admin~1notifications/get"}],"panels":[]}]},"httpPath":"/api/admin/notifications"},{"label":"Создать постоянное уведомление или разовую рассылку","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/admin-panel-uvedomleniya/paths/~1api~1admin~1notifications/post","routeSlug":"/openapi/admin-panel-uvedomleniya/paths/~1api~1admin~1notifications/post","metadata":{"seo":{"title":"Создать постоянное уведомление или разовую рассылку","description":"Создаёт правило с произвольным количеством упорядоченных условий. Все условия объединяются через AND.Для CONTINUOUS поле scheduled_at не передаётся. Для SCHEDULED_ONCE оно обязательно и должносодержать будущий момент времени с часовым смещением. Каналы: IN_APP, PUSH, EMAIL; SMS не поддерживается.На текущем MVP конфигурация сохраняется, но фактическая отправка не выполняется. Требуется NOTIFICATIONS:FULL."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Создать постоянное уведомление или разовую рассылку","isWebhook":false,"pointer":"/paths/~1api~1admin~1notifications/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Создать постоянное уведомление или разовую рассылку","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Создаёт правило с произвольным количеством упорядоченных условий. Все условия объединяются через AND."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Для "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CONTINUOUS"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" поле "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"scheduled_at"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" не передаётся. Для "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SCHEDULED_ONCE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" оно обязательно и должно"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"содержать будущий момент времени с часовым смещением. Каналы: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"IN_APP"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"PUSH"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"EMAIL"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; SMS не поддерживается."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"На текущем MVP конфигурация сохраняется, но фактическая отправка не выполняется. Требуется "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"NOTIFICATIONS:FULL"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/CreateAdminNotificationBody","exampleIds":["paths/~1api~1admin~1notifications/post/requestBody/content/application~1json/examples/continuous","paths/~1api~1admin~1notifications/post/requestBody/content/application~1json/examples/scheduled_once"]}},"schemaId":"components/schemas/CreateAdminNotificationBody","exampleIds":["paths/~1api~1admin~1notifications/post/requestBody/content/application~1json/examples/continuous","paths/~1api~1admin~1notifications/post/requestBody/content/application~1json/examples/scheduled_once"],"pointer":"/paths/~1api~1admin~1notifications/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/admin/notifications","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/CreateAdminNotificationBody","exampleIds":["paths/~1api~1admin~1notifications/post/requestBody/content/application~1json/examples/continuous","paths/~1api~1admin~1notifications/post/requestBody/content/application~1json/examples/scheduled_once"]}},"responseCodes":["200","400","401","403","409","500"],"pointer":"/api/admin/notifications","href":"admin-panel-uvedomleniya/paths/~1api~1admin~1notifications/post","summary":"Создать постоянное уведомление или разовую рассылку","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/CreateAdminNotificationBody","exampleIds":["paths/~1api~1admin~1notifications/post/requestBody/content/application~1json/examples/continuous","paths/~1api~1admin~1notifications/post/requestBody/content/application~1json/examples/scheduled_once"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/CreateAdminNotificationBody","exampleIds":["paths/~1api~1admin~1notifications/post/requestBody/content/application~1json/examples/continuous","paths/~1api~1admin~1notifications/post/requestBody/content/application~1json/examples/scheduled_once"]}},"examples":[{},{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Уведомление успешно создано"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminNotificationApiResponse","exampleIds":["paths/~1api~1admin~1notifications/post/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/AdminNotificationApiResponse","exampleIds":["paths/~1api~1admin~1notifications/post/responses/200/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1notifications/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1notifications/post/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1notifications/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1notifications/post/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications/post/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications/post/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Нет роли "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ADMIN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" или недостаточно прав на соответствующий раздел админ-панели"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications/post/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1notifications/post/responses/403/content/application~1json/examples/admin_role_required"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications/post/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1notifications/post/responses/403/content/application~1json/examples/admin_role_required"]},{"code":"409","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрос конфликтует с текущим состоянием ресурса"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications/post/responses/409/content/application~1json/examples/conflict"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications/post/responses/409/content/application~1json/examples/conflict"]},{"code":"500","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Непредвиденная внутренняя ошибка сервера"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications/post/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications/post/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1api~1admin~1notifications/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/AdminNotificationApiResponse","exampleIds":["paths/~1api~1admin~1notifications/post/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminNotificationApiResponse","exampleIds":["paths/~1api~1admin~1notifications/post/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1notifications/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1notifications/post/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1notifications/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1notifications/post/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications/post/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications/post/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications/post/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1notifications/post/responses/403/content/application~1json/examples/admin_role_required"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications/post/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1notifications/post/responses/403/content/application~1json/examples/admin_role_required"]}}},{"code":"409","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications/post/responses/409/content/application~1json/examples/conflict"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications/post/responses/409/content/application~1json/examples/conflict"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications/post/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications/post/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/admin-panel-uvedomleniya/paths/~1api~1admin~1notifications/post"}],"panels":[]}]},"httpPath":"/api/admin/notifications"},{"label":"Получить уведомление","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/admin-panel-uvedomleniya/paths/~1api~1admin~1notifications~1{id}/get","routeSlug":"/openapi/admin-panel-uvedomleniya/paths/~1api~1admin~1notifications~1{id}/get","metadata":{"seo":{"title":"Получить уведомление","description":"Возвращает правило, его каналы и условия в порядке отображения. Требуется NOTIFICATIONS:READ."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить уведомление","isWebhook":false,"pointer":"/paths/~1api~1admin~1notifications~1{id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить уведомление","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает правило, его каналы и условия в порядке отображения. Требуется "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"NOTIFICATIONS:READ"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор постоянного уведомления или разовой рассылки."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1admin~1notifications~1{id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/admin/notifications/{id}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403","404","500"],"pointer":"/api/admin/notifications/{id}","href":"admin-panel-uvedomleniya/paths/~1api~1admin~1notifications~1{id}/get","summary":"Получить уведомление","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Уведомление успешно получено"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminNotificationApiResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/get/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/AdminNotificationApiResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/get/responses/200/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1notifications~1{id}/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1notifications~1{id}/get/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1notifications~1{id}/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1notifications~1{id}/get/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Нет роли "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ADMIN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" или недостаточно прав на соответствующий раздел админ-панели"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1notifications~1{id}/get/responses/403/content/application~1json/examples/admin_role_required"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1notifications~1{id}/get/responses/403/content/application~1json/examples/admin_role_required"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрошенный ресурс не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/get/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/get/responses/404/content/application~1json/examples/not_found"]},{"code":"500","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Непредвиденная внутренняя ошибка сервера"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1api~1admin~1notifications~1{id}/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/AdminNotificationApiResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/get/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminNotificationApiResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/get/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1notifications~1{id}/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1notifications~1{id}/get/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1notifications~1{id}/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1notifications~1{id}/get/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1notifications~1{id}/get/responses/403/content/application~1json/examples/admin_role_required"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1notifications~1{id}/get/responses/403/content/application~1json/examples/admin_role_required"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/get/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/get/responses/404/content/application~1json/examples/not_found"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/admin-panel-uvedomleniya/paths/~1api~1admin~1notifications~1{id}/get"}],"panels":[]}]},"httpPath":"/api/admin/notifications/{id}"},{"label":"Изменить уведомление","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/admin-panel-uvedomleniya/paths/~1api~1admin~1notifications~1{id}/patch","routeSlug":"/openapi/admin-panel-uvedomleniya/paths/~1api~1admin~1notifications~1{id}/patch","metadata":{"seo":{"title":"Изменить уведомление","description":"Частично изменяет правило. Если передано conditions, это полный новый список:условие с id обновляется, без id создаётся, отсутствующее в списке удаляется; порядок равен порядку массива.Режим CONTINUOUS/SCHEDULED_ONCE менять нельзя. Для изменения времени разовой рассылки передайтеexecution с прежним режимом и новым будущим scheduled_at. Требуется NOTIFICATIONS:FULL."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Изменить уведомление","isWebhook":false,"pointer":"/paths/~1api~1admin~1notifications~1{id}/patch","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Изменить уведомление","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Частично изменяет правило. Если передано "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"conditions"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", это полный новый список:"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"условие с "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" обновляется, без "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" создаётся, отсутствующее в списке удаляется; порядок равен порядку массива."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Режим "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CONTINUOUS"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"/"},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SCHEDULED_ONCE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" менять нельзя. Для изменения времени разовой рассылки передайте"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"execution"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" с прежним режимом и новым будущим "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"scheduled_at"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Требуется "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"NOTIFICATIONS:FULL"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор постоянного уведомления или разовой рассылки."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1admin~1notifications~1{id}/patch/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/UpdateAdminNotificationBody"}},"schemaId":"components/schemas/UpdateAdminNotificationBody","pointer":"/paths/~1api~1admin~1notifications~1{id}/patch/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PATCH","path":"/api/admin/notifications/{id}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/UpdateAdminNotificationBody"}},"responseCodes":["200","400","401","403","404","409","500"],"pointer":"/api/admin/notifications/{id}","href":"admin-panel-uvedomleniya/paths/~1api~1admin~1notifications~1{id}/patch","summary":"Изменить уведомление","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/UpdateAdminNotificationBody","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/UpdateAdminNotificationBody"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Уведомление успешно изменено"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminNotificationApiResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/patch/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/AdminNotificationApiResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/patch/responses/200/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/patch/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1notifications~1{id}/patch/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1notifications~1{id}/patch/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/patch/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1notifications~1{id}/patch/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1notifications~1{id}/patch/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/patch/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/patch/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Нет роли "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ADMIN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" или недостаточно прав на соответствующий раздел админ-панели"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/patch/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1notifications~1{id}/patch/responses/403/content/application~1json/examples/admin_role_required"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/patch/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1notifications~1{id}/patch/responses/403/content/application~1json/examples/admin_role_required"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрошенный ресурс не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/patch/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/patch/responses/404/content/application~1json/examples/not_found"]},{"code":"409","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрос конфликтует с текущим состоянием ресурса"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/patch/responses/409/content/application~1json/examples/conflict"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/patch/responses/409/content/application~1json/examples/conflict"]},{"code":"500","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Непредвиденная внутренняя ошибка сервера"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/patch/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/patch/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1api~1admin~1notifications~1{id}/patch/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/AdminNotificationApiResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/patch/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminNotificationApiResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/patch/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/patch/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1notifications~1{id}/patch/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1notifications~1{id}/patch/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/patch/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1notifications~1{id}/patch/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1notifications~1{id}/patch/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/patch/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/patch/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/patch/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1notifications~1{id}/patch/responses/403/content/application~1json/examples/admin_role_required"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/patch/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1notifications~1{id}/patch/responses/403/content/application~1json/examples/admin_role_required"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/patch/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/patch/responses/404/content/application~1json/examples/not_found"]}}},{"code":"409","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/patch/responses/409/content/application~1json/examples/conflict"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/patch/responses/409/content/application~1json/examples/conflict"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/patch/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/patch/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/admin-panel-uvedomleniya/paths/~1api~1admin~1notifications~1{id}/patch"}],"panels":[]}]},"httpPath":"/api/admin/notifications/{id}"},{"label":"Удалить уведомление","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/admin-panel-uvedomleniya/paths/~1api~1admin~1notifications~1{id}/delete","routeSlug":"/openapi/admin-panel-uvedomleniya/paths/~1api~1admin~1notifications~1{id}/delete","metadata":{"seo":{"title":"Удалить уведомление","description":"Удаляет постоянное правило или ещё не выполненную разовую рассылку. Требуется NOTIFICATIONS:FULL."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Удалить уведомление","isWebhook":false,"pointer":"/paths/~1api~1admin~1notifications~1{id}/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Удалить уведомление","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Удаляет постоянное правило или ещё не выполненную разовую рассылку. Требуется "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"NOTIFICATIONS:FULL"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор постоянного уведомления или разовой рассылки."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1admin~1notifications~1{id}/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/api/admin/notifications/{id}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403","404","409","500"],"pointer":"/api/admin/notifications/{id}","href":"admin-panel-uvedomleniya/paths/~1api~1admin~1notifications~1{id}/delete","summary":"Удалить уведомление","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Уведомление успешно удалено"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/DeleteAdminNotificationApiResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/delete/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/DeleteAdminNotificationApiResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/delete/responses/200/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/delete/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1notifications~1{id}/delete/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1notifications~1{id}/delete/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/delete/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1notifications~1{id}/delete/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1notifications~1{id}/delete/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/delete/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/delete/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Нет роли "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ADMIN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" или недостаточно прав на соответствующий раздел админ-панели"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/delete/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1notifications~1{id}/delete/responses/403/content/application~1json/examples/admin_role_required"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/delete/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1notifications~1{id}/delete/responses/403/content/application~1json/examples/admin_role_required"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрошенный ресурс не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/delete/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/delete/responses/404/content/application~1json/examples/not_found"]},{"code":"409","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрос конфликтует с текущим состоянием ресурса"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/delete/responses/409/content/application~1json/examples/conflict"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/delete/responses/409/content/application~1json/examples/conflict"]},{"code":"500","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Непредвиденная внутренняя ошибка сервера"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/delete/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/delete/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1api~1admin~1notifications~1{id}/delete/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/DeleteAdminNotificationApiResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/delete/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/DeleteAdminNotificationApiResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/delete/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/delete/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1notifications~1{id}/delete/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1notifications~1{id}/delete/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/delete/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1admin~1notifications~1{id}/delete/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1admin~1notifications~1{id}/delete/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/delete/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/delete/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/delete/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1notifications~1{id}/delete/responses/403/content/application~1json/examples/admin_role_required"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/delete/responses/403/content/application~1json/examples/insufficient_admin_panel_permission","paths/~1api~1admin~1notifications~1{id}/delete/responses/403/content/application~1json/examples/admin_role_required"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/delete/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/delete/responses/404/content/application~1json/examples/not_found"]}}},{"code":"409","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/delete/responses/409/content/application~1json/examples/conflict"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/delete/responses/409/content/application~1json/examples/conflict"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/delete/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1notifications~1{id}/delete/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/admin-panel-uvedomleniya/paths/~1api~1admin~1notifications~1{id}/delete"}],"panels":[]}]},"httpPath":"/api/admin/notifications/{id}"}],"content":{"contentType":"group","meta":{"name":"Админ-панель — уведомления"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Админ-панель — уведомления","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Управление постоянными уведомлениями и разовыми рассылками."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/api/admin/notifications","summary":"Получить правила уведомлений и разовые рассылки","prefix":{"name":"get","color":"get"},"badges":[],"link":"/admin-panel-uvedomleniya/paths/~1api~1admin~1notifications/get","deprecated":false},{"title":"/api/admin/notifications","summary":"Создать постоянное уведомление или разовую рассылку","prefix":{"name":"post","color":"post"},"badges":[],"link":"/admin-panel-uvedomleniya/paths/~1api~1admin~1notifications/post","deprecated":false},{"title":"/api/admin/notifications/{id}","summary":"Получить уведомление","prefix":{"name":"get","color":"get"},"badges":[],"link":"/admin-panel-uvedomleniya/paths/~1api~1admin~1notifications~1{id}/get","deprecated":false},{"title":"/api/admin/notifications/{id}","summary":"Изменить уведомление","prefix":{"name":"patch","color":"patch"},"badges":[],"link":"/admin-panel-uvedomleniya/paths/~1api~1admin~1notifications~1{id}/patch","deprecated":false},{"title":"/api/admin/notifications/{id}","summary":"Удалить уведомление","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/admin-panel-uvedomleniya/paths/~1api~1admin~1notifications~1{id}/delete","deprecated":false}]}]}]}]}},{"type":"group","label":"Админ-панель — роли","link":"/openapi/admin-panel-roli","routeSlug":"/openapi/admin-panel-roli","items":[{"label":"Получить список сотрудников админ-панели","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/admin-panel-roli/paths/~1api~1admin~1employees/get","routeSlug":"/openapi/admin-panel-roli/paths/~1api~1admin~1employees/get","metadata":{"seo":{"title":"Получить список сотрудников админ-панели","description":"Возвращает всех действующих сотрудников без пагинации."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить список сотрудников админ-панели","isWebhook":false,"pointer":"/paths/~1api~1admin~1employees/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить список сотрудников админ-панели","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает всех действующих сотрудников без пагинации."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/admin/employees","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","401","403"],"pointer":"/api/admin/employees","href":"admin-panel-roli/paths/~1api~1admin~1employees/get","summary":"Получить список сотрудников админ-панели","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Сотрудники успешно получены"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminEmployeeListApiResponse"}},"schemaId":"components/schemas/AdminEmployeeListApiResponse"},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требуется авторизация"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Недостаточно прав"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"}],"pointer":"/paths/~1api~1admin~1employees/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/AdminEmployeeListApiResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminEmployeeListApiResponse"}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/admin-panel-roli/paths/~1api~1admin~1employees/get"}],"panels":[]}]},"httpPath":"/api/admin/employees"},{"label":"Добавить сотрудника админ-панели","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/admin-panel-roli/paths/~1api~1admin~1employees/post","routeSlug":"/openapi/admin-panel-roli/paths/~1api~1admin~1employees/post","metadata":{"seo":{"title":"Добавить сотрудника админ-панели","description":"Создаёт нового сотрудника или восстанавливает ранее удалённого по номеру телефона."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Добавить сотрудника админ-панели","isWebhook":false,"pointer":"/paths/~1api~1admin~1employees/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Добавить сотрудника админ-панели","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Создаёт нового сотрудника или восстанавливает ранее удалённого по номеру телефона."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/CreateAdminEmployeeBody"}},"schemaId":"components/schemas/CreateAdminEmployeeBody","pointer":"/paths/~1api~1admin~1employees/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/admin/employees","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/CreateAdminEmployeeBody"}},"responseCodes":["201","400","401","403","409"],"pointer":"/api/admin/employees","href":"admin-panel-roli/paths/~1api~1admin~1employees/post","summary":"Добавить сотрудника админ-панели","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/CreateAdminEmployeeBody","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/CreateAdminEmployeeBody"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Сотрудник успешно добавлен"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminEmployeeApiResponse"}},"schemaId":"components/schemas/AdminEmployeeApiResponse"},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело запроса"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требуется авторизация"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Недостаточно прав"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"},{"code":"409","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Действующий сотрудник с таким телефоном уже существует"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"}],"pointer":"/paths/~1api~1admin~1employees/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"201","schemaId":"components/schemas/AdminEmployeeApiResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminEmployeeApiResponse"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}},{"code":"409","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/admin-panel-roli/paths/~1api~1admin~1employees/post"}],"panels":[]}]},"httpPath":"/api/admin/employees"},{"label":"Получить собственные права администратора","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/admin-panel-roli/paths/~1api~1admin~1employees~1me~1permissions/get","routeSlug":"/openapi/admin-panel-roli/paths/~1api~1admin~1employees~1me~1permissions/get","metadata":{"seo":{"title":"Получить собственные права администратора","description":"Возвращает права текущего администратора для всех разделов админ-панели.NONE означает, что раздел следует скрыть; READ разрешает просмотр;FULL разрешает просмотр и изменение данных."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить собственные права администратора","isWebhook":false,"pointer":"/paths/~1api~1admin~1employees~1me~1permissions/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить собственные права администратора","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает права текущего администратора для всех разделов админ-панели."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"NONE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" означает, что раздел следует скрыть; "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"READ"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" разрешает просмотр;"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"FULL"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" разрешает просмотр и изменение данных."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Endpoint доступен любому действующему пользователю с ролью "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ADMIN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и не"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требует права "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ROLES"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Идентификатор администратора берётся только из JWT."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/admin/employees/me/permissions","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","401","403"],"pointer":"/api/admin/employees/me/permissions","href":"admin-panel-roli/paths/~1api~1admin~1employees~1me~1permissions/get","summary":"Получить собственные права администратора","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Собственные права администратора успешно получены"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminEmployeePermissionsApiResponse","exampleIds":["paths/~1api~1admin~1employees~1me~1permissions/get/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/AdminEmployeePermissionsApiResponse","exampleIds":["paths/~1api~1admin~1employees~1me~1permissions/get/responses/200/content/application~1json/example"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"JWT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1employees~1me~1permissions/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1employees~1me~1permissions/get/responses/401/content/application~1json/example"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Авторизованный пользователь не имеет роли ADMIN"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1employees~1me~1permissions/get/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1employees~1me~1permissions/get/responses/403/content/application~1json/example"]}],"pointer":"/paths/~1api~1admin~1employees~1me~1permissions/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/AdminEmployeePermissionsApiResponse","exampleIds":["paths/~1api~1admin~1employees~1me~1permissions/get/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminEmployeePermissionsApiResponse","exampleIds":["paths/~1api~1admin~1employees~1me~1permissions/get/responses/200/content/application~1json/example"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1employees~1me~1permissions/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1employees~1me~1permissions/get/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1employees~1me~1permissions/get/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1admin~1employees~1me~1permissions/get/responses/403/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/admin-panel-roli/paths/~1api~1admin~1employees~1me~1permissions/get"}],"panels":[]}]},"httpPath":"/api/admin/employees/me/permissions"},{"label":"Получить данные сотрудника админ-панели","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/admin-panel-roli/paths/~1api~1admin~1employees~1{userid}/get","routeSlug":"/openapi/admin-panel-roli/paths/~1api~1admin~1employees~1{userid}/get","metadata":{"seo":{"title":"Получить данные сотрудника админ-панели","description":"Получить данные сотрудника админ-панели"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить данные сотрудника админ-панели","isWebhook":false,"pointer":"/paths/~1api~1admin~1employees~1{userId}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить данные сотрудника админ-панели","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"userId","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор сотрудника админ-панели."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1admin~1employees~1{userId}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/admin/employees/{userId}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"userId","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403","404"],"pointer":"/api/admin/employees/{userId}","href":"admin-panel-roli/paths/~1api~1admin~1employees~1{userid}/get","summary":"Получить данные сотрудника админ-панели","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Сотрудник успешно получен"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminEmployeeApiResponse"}},"schemaId":"components/schemas/AdminEmployeeApiResponse"},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректный идентификатор"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требуется авторизация"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Недостаточно прав"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Сотрудник не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"}],"pointer":"/paths/~1api~1admin~1employees~1{userId}/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/AdminEmployeeApiResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminEmployeeApiResponse"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/admin-panel-roli/paths/~1api~1admin~1employees~1{userid}/get"}],"panels":[]}]},"httpPath":"/api/admin/employees/{userId}"},{"label":"Изменить данные сотрудника админ-панели","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/admin-panel-roli/paths/~1api~1admin~1employees~1{userid}/patch","routeSlug":"/openapi/admin-panel-roli/paths/~1api~1admin~1employees~1{userid}/patch","metadata":{"seo":{"title":"Изменить данные сотрудника админ-панели","description":"Изменить данные сотрудника админ-панели"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Изменить данные сотрудника админ-панели","isWebhook":false,"pointer":"/paths/~1api~1admin~1employees~1{userId}/patch","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Изменить данные сотрудника админ-панели","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"userId","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор сотрудника админ-панели."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1admin~1employees~1{userId}/patch/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/UpdateAdminEmployeeBody"}},"schemaId":"components/schemas/UpdateAdminEmployeeBody","pointer":"/paths/~1api~1admin~1employees~1{userId}/patch/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PATCH","path":"/api/admin/employees/{userId}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"userId","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/UpdateAdminEmployeeBody"}},"responseCodes":["200","400","401","403","404","409"],"pointer":"/api/admin/employees/{userId}","href":"admin-panel-roli/paths/~1api~1admin~1employees~1{userid}/patch","summary":"Изменить данные сотрудника админ-панели","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/UpdateAdminEmployeeBody","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/UpdateAdminEmployeeBody"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Данные сотрудника успешно изменены"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminEmployeeApiResponse"}},"schemaId":"components/schemas/AdminEmployeeApiResponse"},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректный идентификатор или тело запроса"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требуется авторизация"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Недостаточно прав"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Сотрудник не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"},{"code":"409","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Номер телефона уже используется другим сотрудником"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"}],"pointer":"/paths/~1api~1admin~1employees~1{userId}/patch/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/AdminEmployeeApiResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminEmployeeApiResponse"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}},{"code":"409","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/admin-panel-roli/paths/~1api~1admin~1employees~1{userid}/patch"}],"panels":[]}]},"httpPath":"/api/admin/employees/{userId}"},{"label":"Удалить сотрудника админ-панели","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/admin-panel-roli/paths/~1api~1admin~1employees~1{userid}/delete","routeSlug":"/openapi/admin-panel-roli/paths/~1api~1admin~1employees~1{userid}/delete","metadata":{"seo":{"title":"Удалить сотрудника админ-панели","description":"Удаляет роль ADMIN и права сотрудника, сохраняя его запись для аудита."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Удалить сотрудника админ-панели","isWebhook":false,"pointer":"/paths/~1api~1admin~1employees~1{userId}/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Удалить сотрудника админ-панели","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Удаляет роль ADMIN и права сотрудника, сохраняя его запись для аудита."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"userId","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор сотрудника админ-панели."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1admin~1employees~1{userId}/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/api/admin/employees/{userId}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"userId","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403","404","409"],"pointer":"/api/admin/employees/{userId}","href":"admin-panel-roli/paths/~1api~1admin~1employees~1{userid}/delete","summary":"Удалить сотрудника админ-панели","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Сотрудник успешно удалён"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SuccessNullResponse"}},"schemaId":"components/schemas/SuccessNullResponse"},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректный идентификатор"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требуется авторизация"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Недостаточно прав"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Сотрудник не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"},{"code":"409","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Нельзя удалить себя или последнего сотрудника с полным доступом к ролям"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"}],"pointer":"/paths/~1api~1admin~1employees~1{userId}/delete/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/SuccessNullResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SuccessNullResponse"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}},{"code":"409","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/admin-panel-roli/paths/~1api~1admin~1employees~1{userid}/delete"}],"panels":[]}]},"httpPath":"/api/admin/employees/{userId}"},{"label":"Получить права сотрудника","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/admin-panel-roli/paths/~1api~1admin~1employees~1{userid}~1permissions/get","routeSlug":"/openapi/admin-panel-roli/paths/~1api~1admin~1employees~1{userid}~1permissions/get","metadata":{"seo":{"title":"Получить права сотрудника","description":"Возвращает все разделы панели; отсутствие права представлено уровнем NONE."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить права сотрудника","isWebhook":false,"pointer":"/paths/~1api~1admin~1employees~1{userId}~1permissions/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить права сотрудника","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает все разделы панели; отсутствие права представлено уровнем NONE."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"userId","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор сотрудника админ-панели."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1admin~1employees~1{userId}~1permissions/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/admin/employees/{userId}/permissions","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"userId","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403","404"],"pointer":"/api/admin/employees/{userId}/permissions","href":"admin-panel-roli/paths/~1api~1admin~1employees~1{userid}~1permissions/get","summary":"Получить права сотрудника","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Права сотрудника успешно получены"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminEmployeePermissionsApiResponse"}},"schemaId":"components/schemas/AdminEmployeePermissionsApiResponse"},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректный идентификатор"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требуется авторизация"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Недостаточно прав"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Сотрудник не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"}],"pointer":"/paths/~1api~1admin~1employees~1{userId}~1permissions/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/AdminEmployeePermissionsApiResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminEmployeePermissionsApiResponse"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/admin-panel-roli/paths/~1api~1admin~1employees~1{userid}~1permissions/get"}],"panels":[]}]},"httpPath":"/api/admin/employees/{userId}/permissions"},{"label":"Изменить право сотрудника для одного раздела","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/admin-panel-roli/paths/~1api~1admin~1employees~1{userid}~1permissions/put","routeSlug":"/openapi/admin-panel-roli/paths/~1api~1admin~1employees~1{userid}~1permissions/put","metadata":{"seo":{"title":"Изменить право сотрудника для одного раздела","description":"Изменяет только переданный раздел. Остальные права сотрудника остаются без изменений."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Изменить право сотрудника для одного раздела","isWebhook":false,"pointer":"/paths/~1api~1admin~1employees~1{userId}~1permissions/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Изменить право сотрудника для одного раздела","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Изменяет только переданный раздел. Остальные права сотрудника остаются без изменений."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"userId","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор сотрудника админ-панели."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1admin~1employees~1{userId}~1permissions/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/AdminEmployeePermissionUpdate"}},"schemaId":"components/schemas/AdminEmployeePermissionUpdate","pointer":"/paths/~1api~1admin~1employees~1{userId}~1permissions/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/api/admin/employees/{userId}/permissions","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"userId","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/AdminEmployeePermissionUpdate"}},"responseCodes":["200","400","401","403","404","409"],"pointer":"/api/admin/employees/{userId}/permissions","href":"admin-panel-roli/paths/~1api~1admin~1employees~1{userid}~1permissions/put","summary":"Изменить право сотрудника для одного раздела","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/AdminEmployeePermissionUpdate","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/AdminEmployeePermissionUpdate"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Право сотрудника успешно изменено"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminEmployeePermissionsApiResponse"}},"schemaId":"components/schemas/AdminEmployeePermissionsApiResponse"},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректный идентификатор или тело запроса"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требуется авторизация"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Недостаточно прав"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Сотрудник не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"},{"code":"409","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Изменение удалит последний доступ ROLES уровня FULL"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"}],"pointer":"/paths/~1api~1admin~1employees~1{userId}~1permissions/put/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/AdminEmployeePermissionsApiResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdminEmployeePermissionsApiResponse"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}},{"code":"409","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/admin-panel-roli/paths/~1api~1admin~1employees~1{userid}~1permissions/put"}],"panels":[]}]},"httpPath":"/api/admin/employees/{userId}/permissions"}],"content":{"contentType":"group","meta":{"name":"Админ-панель — роли"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Админ-панель — роли","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Управление сотрудниками административной панели и их правами доступа."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/api/admin/employees","summary":"Получить список сотрудников админ-панели","prefix":{"name":"get","color":"get"},"badges":[],"link":"/admin-panel-roli/paths/~1api~1admin~1employees/get","deprecated":false},{"title":"/api/admin/employees","summary":"Добавить сотрудника админ-панели","prefix":{"name":"post","color":"post"},"badges":[],"link":"/admin-panel-roli/paths/~1api~1admin~1employees/post","deprecated":false},{"title":"/api/admin/employees/me/permissions","summary":"Получить собственные права администратора","prefix":{"name":"get","color":"get"},"badges":[],"link":"/admin-panel-roli/paths/~1api~1admin~1employees~1me~1permissions/get","deprecated":false},{"title":"/api/admin/employees/{userId}","summary":"Получить данные сотрудника админ-панели","prefix":{"name":"get","color":"get"},"badges":[],"link":"/admin-panel-roli/paths/~1api~1admin~1employees~1{userid}/get","deprecated":false},{"title":"/api/admin/employees/{userId}","summary":"Изменить данные сотрудника админ-панели","prefix":{"name":"patch","color":"patch"},"badges":[],"link":"/admin-panel-roli/paths/~1api~1admin~1employees~1{userid}/patch","deprecated":false},{"title":"/api/admin/employees/{userId}","summary":"Удалить сотрудника админ-панели","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/admin-panel-roli/paths/~1api~1admin~1employees~1{userid}/delete","deprecated":false},{"title":"/api/admin/employees/{userId}/permissions","summary":"Получить права сотрудника","prefix":{"name":"get","color":"get"},"badges":[],"link":"/admin-panel-roli/paths/~1api~1admin~1employees~1{userid}~1permissions/get","deprecated":false},{"title":"/api/admin/employees/{userId}/permissions","summary":"Изменить право сотрудника для одного раздела","prefix":{"name":"put","color":"put"},"badges":[],"link":"/admin-panel-roli/paths/~1api~1admin~1employees~1{userid}~1permissions/put","deprecated":false}]}]}]}]}},{"type":"group","label":"Реферальная программа","link":"/openapi/referalnaya-programma","routeSlug":"/openapi/referalnaya-programma","items":[{"label":"Получить реферальную ссылку текущего клиента","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/referalnaya-programma/paths/~1api~1referral/get","routeSlug":"/openapi/referalnaya-programma/paths/~1api~1referral/get","metadata":{"seo":{"title":"Получить реферальную ссылку текущего клиента","description":"Возвращает код и готовую ссылку, которой клиент может поделиться."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить реферальную ссылку текущего клиента","isWebhook":false,"pointer":"/paths/~1api~1referral/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить реферальную ссылку текущего клиента","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает код и готовую ссылку, которой клиент может поделиться."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/referral","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","401","403"],"pointer":"/api/referral","href":"referalnaya-programma/paths/~1api~1referral/get","summary":"Получить реферальную ссылку текущего клиента","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Реферальная ссылка успешно получена"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ReferralLinkResponse","exampleIds":["paths/~1api~1referral/get/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/ReferralLinkResponse","exampleIds":["paths/~1api~1referral/get/responses/200/content/application~1json/example"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral/get/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral/get/responses/403/content/application~1json/examples/forbidden"]}],"pointer":"/paths/~1api~1referral/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/ReferralLinkResponse","exampleIds":["paths/~1api~1referral/get/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ReferralLinkResponse","exampleIds":["paths/~1api~1referral/get/responses/200/content/application~1json/example"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral/get/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral/get/responses/403/content/application~1json/examples/forbidden"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/referalnaya-programma/paths/~1api~1referral/get"}],"panels":[]}]},"httpPath":"/api/referral"},{"label":"Получить рефералов текущего клиента","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/referalnaya-programma/paths/~1api~1referral~1referrals/get","routeSlug":"/openapi/referalnaya-programma/paths/~1api~1referral~1referrals/get","metadata":{"seo":{"title":"Получить рефералов текущего клиента","description":"Возвращает приглашённых друзей, текущий этап каждого приглашения и награду."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить рефералов текущего клиента","isWebhook":false,"pointer":"/paths/~1api~1referral~1referrals/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить рефералов текущего клиента","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает приглашённых друзей, текущий этап каждого приглашения и награду."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"status","in":"query","schemaId":"schema_123","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Фильтр по этапу. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"WAITING"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" объединяет ожидание записи и ожидание визита."},"children":[]}]}]}]},{"name":"sort","in":"query","schemaId":"schema_124","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Сортировка; по умолчанию "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"registered_at_desc"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"name":"offset","in":"query","schemaId":"schema_92","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Сколько элементов пропустить."},"children":[]}]}]}]},{"name":"limit","in":"query","schemaId":"schema_93","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Размер страницы, максимум 200."},"children":[]}]}]}]}],"pointer":"/paths/~1api~1referral~1referrals/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/referral/referrals","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[{"name":"status","in":"query","schemaId":"schema_123"},{"name":"sort","in":"query","schemaId":"schema_124"},{"name":"offset","in":"query","schemaId":"schema_92"},{"name":"limit","in":"query","schemaId":"schema_93"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403"],"pointer":"/api/referral/referrals","href":"referalnaya-programma/paths/~1api~1referral~1referrals/get","summary":"Получить рефералов текущего клиента","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Список рефералов успешно получен"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ReferralsResponse","exampleIds":["paths/~1api~1referral~1referrals/get/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/ReferralsResponse","exampleIds":["paths/~1api~1referral~1referrals/get/responses/200/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral~1referrals/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1referral~1referrals/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1referral~1referrals/get/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral~1referrals/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1referral~1referrals/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1referral~1referrals/get/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral~1referrals/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral~1referrals/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral~1referrals/get/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral~1referrals/get/responses/403/content/application~1json/examples/forbidden"]}],"pointer":"/paths/~1api~1referral~1referrals/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/ReferralsResponse","exampleIds":["paths/~1api~1referral~1referrals/get/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ReferralsResponse","exampleIds":["paths/~1api~1referral~1referrals/get/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral~1referrals/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1referral~1referrals/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1referral~1referrals/get/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral~1referrals/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1referral~1referrals/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1referral~1referrals/get/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral~1referrals/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral~1referrals/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral~1referrals/get/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral~1referrals/get/responses/403/content/application~1json/examples/forbidden"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/referalnaya-programma/paths/~1api~1referral~1referrals/get"}],"panels":[]}]},"httpPath":"/api/referral/referrals"},{"label":"Получить клиентские условия реферальной программы","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/referalnaya-programma/paths/~1api~1referral~1program~1client/get","routeSlug":"/openapi/referalnaya-programma/paths/~1api~1referral~1program~1client/get","metadata":{"seo":{"title":"Получить клиентские условия реферальной программы","description":"Возвращает уровни клиентской программы, текущий прогресс и постоянную скидку.В прогресс входят только друзья со статусом COMPLETED."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить клиентские условия реферальной программы","isWebhook":false,"pointer":"/paths/~1api~1referral~1program~1client/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить клиентские условия реферальной программы","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает уровни клиентской программы, текущий прогресс и постоянную скидку."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"В прогресс входят только друзья со статусом "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"COMPLETED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/referral/program/client","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","401","403"],"pointer":"/api/referral/program/client","href":"referalnaya-programma/paths/~1api~1referral~1program~1client/get","summary":"Получить клиентские условия реферальной программы","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Клиентские условия реферальной программы успешно получены"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ClientReferralProgramResponse","exampleIds":["paths/~1api~1referral~1program~1client/get/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/ClientReferralProgramResponse","exampleIds":["paths/~1api~1referral~1program~1client/get/responses/200/content/application~1json/example"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral~1program~1client/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral~1program~1client/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral~1program~1client/get/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral~1program~1client/get/responses/403/content/application~1json/examples/forbidden"]}],"pointer":"/paths/~1api~1referral~1program~1client/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/ClientReferralProgramResponse","exampleIds":["paths/~1api~1referral~1program~1client/get/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ClientReferralProgramResponse","exampleIds":["paths/~1api~1referral~1program~1client/get/responses/200/content/application~1json/example"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral~1program~1client/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral~1program~1client/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral~1program~1client/get/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral~1program~1client/get/responses/403/content/application~1json/examples/forbidden"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/referalnaya-programma/paths/~1api~1referral~1program~1client/get"}],"panels":[]}]},"httpPath":"/api/referral/program/client"},{"label":"Получить бизнес-условия реферальной программы","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/referalnaya-programma/paths/~1api~1referral~1program~1business/get","routeSlug":"/openapi/referalnaya-programma/paths/~1api~1referral~1program~1business/get","metadata":{"seo":{"title":"Получить бизнес-условия реферальной программы","description":"Возвращает условия приглашения мастеров и салонов и количество завершённых приглашений.После первого завершённого визита клиент получает постоянную скидку у этого бизнеса."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить бизнес-условия реферальной программы","isWebhook":false,"pointer":"/paths/~1api~1referral~1program~1business/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить бизнес-условия реферальной программы","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает условия приглашения мастеров и салонов и количество завершённых приглашений."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"После первого завершённого визита клиент получает постоянную скидку у этого бизнеса."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/referral/program/business","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","401","403"],"pointer":"/api/referral/program/business","href":"referalnaya-programma/paths/~1api~1referral~1program~1business/get","summary":"Получить бизнес-условия реферальной программы","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Бизнес-условия реферальной программы успешно получены"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BusinessReferralProgramResponse","exampleIds":["paths/~1api~1referral~1program~1business/get/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/BusinessReferralProgramResponse","exampleIds":["paths/~1api~1referral~1program~1business/get/responses/200/content/application~1json/example"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral~1program~1business/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral~1program~1business/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral~1program~1business/get/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral~1program~1business/get/responses/403/content/application~1json/examples/forbidden"]}],"pointer":"/paths/~1api~1referral~1program~1business/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/BusinessReferralProgramResponse","exampleIds":["paths/~1api~1referral~1program~1business/get/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BusinessReferralProgramResponse","exampleIds":["paths/~1api~1referral~1program~1business/get/responses/200/content/application~1json/example"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral~1program~1business/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral~1program~1business/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral~1program~1business/get/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral~1program~1business/get/responses/403/content/application~1json/examples/forbidden"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/referalnaya-programma/paths/~1api~1referral~1program~1business/get"}],"panels":[]}]},"httpPath":"/api/referral/program/business"},{"label":"Получить приглашённых мастеров и салоны","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/referalnaya-programma/paths/~1api~1referral~1business-referrals/get","routeSlug":"/openapi/referalnaya-programma/paths/~1api~1referral~1business-referrals/get","metadata":{"seo":{"title":"Получить приглашённых мастеров и салоны","description":"Возвращает приглашённых мастеров и салоны, текущий этап приглашения и награду."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить приглашённых мастеров и салоны","isWebhook":false,"pointer":"/paths/~1api~1referral~1business-referrals/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить приглашённых мастеров и салоны","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает приглашённых мастеров и салоны, текущий этап приглашения и награду."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"status","in":"query","schemaId":"schema_123","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Фильтр по этапу. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"WAITING"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" объединяет ожидание записи и ожидание визита."},"children":[]}]}]}]},{"name":"business_type","in":"query","schemaId":"components/schemas/ModerationSubjectType","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Ограничить список мастерами или салонами."},"children":[]}]}]}]},{"name":"sort","in":"query","schemaId":"schema_124","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Сортировка; по умолчанию "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"registered_at_desc"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"name":"offset","in":"query","schemaId":"schema_92","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Сколько элементов пропустить."},"children":[]}]}]}]},{"name":"limit","in":"query","schemaId":"schema_93","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Размер страницы, максимум 200."},"children":[]}]}]}]}],"pointer":"/paths/~1api~1referral~1business-referrals/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/referral/business-referrals","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[{"name":"status","in":"query","schemaId":"schema_123"},{"name":"business_type","in":"query","schemaId":"components/schemas/ModerationSubjectType"},{"name":"sort","in":"query","schemaId":"schema_124"},{"name":"offset","in":"query","schemaId":"schema_92"},{"name":"limit","in":"query","schemaId":"schema_93"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403"],"pointer":"/api/referral/business-referrals","href":"referalnaya-programma/paths/~1api~1referral~1business-referrals/get","summary":"Получить приглашённых мастеров и салоны","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Список бизнес-рефералов успешно получен"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BusinessReferralsResponse","exampleIds":["paths/~1api~1referral~1business-referrals/get/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/BusinessReferralsResponse","exampleIds":["paths/~1api~1referral~1business-referrals/get/responses/200/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral~1business-referrals/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1referral~1business-referrals/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1referral~1business-referrals/get/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral~1business-referrals/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1referral~1business-referrals/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1referral~1business-referrals/get/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral~1business-referrals/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral~1business-referrals/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral~1business-referrals/get/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral~1business-referrals/get/responses/403/content/application~1json/examples/forbidden"]}],"pointer":"/paths/~1api~1referral~1business-referrals/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/BusinessReferralsResponse","exampleIds":["paths/~1api~1referral~1business-referrals/get/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BusinessReferralsResponse","exampleIds":["paths/~1api~1referral~1business-referrals/get/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral~1business-referrals/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1referral~1business-referrals/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1referral~1business-referrals/get/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral~1business-referrals/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1referral~1business-referrals/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1referral~1business-referrals/get/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral~1business-referrals/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral~1business-referrals/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral~1business-referrals/get/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral~1business-referrals/get/responses/403/content/application~1json/examples/forbidden"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/referalnaya-programma/paths/~1api~1referral~1business-referrals/get"}],"panels":[]}]},"httpPath":"/api/referral/business-referrals"},{"label":"Получить конкретного приглашённого друга и его награду","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/referalnaya-programma/paths/~1api~1referral~1referrals~1{referralid}/get","routeSlug":"/openapi/referalnaya-programma/paths/~1api~1referral~1referrals~1{referralid}/get","metadata":{"seo":{"title":"Получить конкретного приглашённого друга и его награду","description":"Возвращает те же данные, что элемент списка друзей, по referral_id."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить конкретного приглашённого друга и его награду","isWebhook":false,"pointer":"/paths/~1api~1referral~1referrals~1{referralId}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить конкретного приглашённого друга и его награду","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает те же данные, что элемент списка друзей, по "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"referral_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"referralId","in":"path","schemaId":"schema_125","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор приглашения из поля "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"referral_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1referral~1referrals~1{referralId}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/referral/referrals/{referralId}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"referralId","in":"path","required":true,"schemaId":"schema_125"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","401","403","404"],"pointer":"/api/referral/referrals/{referralId}","href":"referalnaya-programma/paths/~1api~1referral~1referrals~1{referralid}/get","summary":"Получить конкретного приглашённого друга и его награду","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Детали приглашённого друга"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ReferralItemResponse","exampleIds":["paths/~1api~1referral~1referrals~1{referralId}/get/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/ReferralItemResponse","exampleIds":["paths/~1api~1referral~1referrals~1{referralId}/get/responses/200/content/application~1json/example"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral~1referrals~1{referralId}/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral~1referrals~1{referralId}/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral~1referrals~1{referralId}/get/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral~1referrals~1{referralId}/get/responses/403/content/application~1json/examples/forbidden"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрошенный ресурс не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral~1referrals~1{referralId}/get/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral~1referrals~1{referralId}/get/responses/404/content/application~1json/examples/not_found"]}],"pointer":"/paths/~1api~1referral~1referrals~1{referralId}/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/ReferralItemResponse","exampleIds":["paths/~1api~1referral~1referrals~1{referralId}/get/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ReferralItemResponse","exampleIds":["paths/~1api~1referral~1referrals~1{referralId}/get/responses/200/content/application~1json/example"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral~1referrals~1{referralId}/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral~1referrals~1{referralId}/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral~1referrals~1{referralId}/get/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral~1referrals~1{referralId}/get/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral~1referrals~1{referralId}/get/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral~1referrals~1{referralId}/get/responses/404/content/application~1json/examples/not_found"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/referalnaya-programma/paths/~1api~1referral~1referrals~1{referralid}/get"}],"panels":[]}]},"httpPath":"/api/referral/referrals/{referralId}"},{"label":"Получить конкретного приглашённого мастера или салон и награду","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/referalnaya-programma/paths/~1api~1referral~1business-referrals~1{referralid}/get","routeSlug":"/openapi/referalnaya-programma/paths/~1api~1referral~1business-referrals~1{referralid}/get","metadata":{"seo":{"title":"Получить конкретного приглашённого мастера или салон и награду","description":"Возвращает те же данные, что элемент списка бизнесов, по referral_id."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить конкретного приглашённого мастера или салон и награду","isWebhook":false,"pointer":"/paths/~1api~1referral~1business-referrals~1{referralId}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить конкретного приглашённого мастера или салон и награду","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает те же данные, что элемент списка бизнесов, по "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"referral_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"referralId","in":"path","schemaId":"schema_125","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор приглашения из поля "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"referral_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1referral~1business-referrals~1{referralId}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/referral/business-referrals/{referralId}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"referralId","in":"path","required":true,"schemaId":"schema_125"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","401","403","404"],"pointer":"/api/referral/business-referrals/{referralId}","href":"referalnaya-programma/paths/~1api~1referral~1business-referrals~1{referralid}/get","summary":"Получить конкретного приглашённого мастера или салон и награду","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Детали приглашённого мастера или салона"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BusinessReferralItemResponse","exampleIds":["paths/~1api~1referral~1business-referrals~1{referralId}/get/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/BusinessReferralItemResponse","exampleIds":["paths/~1api~1referral~1business-referrals~1{referralId}/get/responses/200/content/application~1json/example"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral~1business-referrals~1{referralId}/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral~1business-referrals~1{referralId}/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral~1business-referrals~1{referralId}/get/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral~1business-referrals~1{referralId}/get/responses/403/content/application~1json/examples/forbidden"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрошенный ресурс не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral~1business-referrals~1{referralId}/get/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral~1business-referrals~1{referralId}/get/responses/404/content/application~1json/examples/not_found"]}],"pointer":"/paths/~1api~1referral~1business-referrals~1{referralId}/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/BusinessReferralItemResponse","exampleIds":["paths/~1api~1referral~1business-referrals~1{referralId}/get/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BusinessReferralItemResponse","exampleIds":["paths/~1api~1referral~1business-referrals~1{referralId}/get/responses/200/content/application~1json/example"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral~1business-referrals~1{referralId}/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral~1business-referrals~1{referralId}/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral~1business-referrals~1{referralId}/get/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral~1business-referrals~1{referralId}/get/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral~1business-referrals~1{referralId}/get/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral~1business-referrals~1{referralId}/get/responses/404/content/application~1json/examples/not_found"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/referalnaya-programma/paths/~1api~1referral~1business-referrals~1{referralid}/get"}],"panels":[]}]},"httpPath":"/api/referral/business-referrals/{referralId}"},{"label":"Получить историю начисленных реферальных наград","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/referalnaya-programma/paths/~1api~1referral~1reward-history/get","routeSlug":"/openapi/referalnaya-programma/paths/~1api~1referral~1reward-history/get","metadata":{"seo":{"title":"Получить историю начисленных реферальных наград","description":"Возвращает только фактически начисленные награды, новые первыми."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить историю начисленных реферальных наград","isWebhook":false,"pointer":"/paths/~1api~1referral~1reward-history/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить историю начисленных реферальных наград","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает только фактически начисленные награды, новые первыми."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"target_type","in":"query","schemaId":"schema_104","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Ограничить историю наградами за друзей или за бизнес."},"children":[]}]}]}]}],"pointer":"/paths/~1api~1referral~1reward-history/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/referral/reward-history","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[{"name":"target_type","in":"query","schemaId":"schema_104"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403"],"pointer":"/api/referral/reward-history","href":"referalnaya-programma/paths/~1api~1referral~1reward-history/get","summary":"Получить историю начисленных реферальных наград","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"История реферальных наград"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ReferralRewardHistoryApiResponse","exampleIds":["paths/~1api~1referral~1reward-history/get/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/ReferralRewardHistoryApiResponse","exampleIds":["paths/~1api~1referral~1reward-history/get/responses/200/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral~1reward-history/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1referral~1reward-history/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1referral~1reward-history/get/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral~1reward-history/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1referral~1reward-history/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1referral~1reward-history/get/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral~1reward-history/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral~1reward-history/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral~1reward-history/get/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral~1reward-history/get/responses/403/content/application~1json/examples/forbidden"]}],"pointer":"/paths/~1api~1referral~1reward-history/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/ReferralRewardHistoryApiResponse","exampleIds":["paths/~1api~1referral~1reward-history/get/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ReferralRewardHistoryApiResponse","exampleIds":["paths/~1api~1referral~1reward-history/get/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral~1reward-history/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1referral~1reward-history/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1referral~1reward-history/get/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral~1reward-history/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1referral~1reward-history/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1referral~1reward-history/get/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral~1reward-history/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral~1reward-history/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral~1reward-history/get/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1referral~1reward-history/get/responses/403/content/application~1json/examples/forbidden"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/referalnaya-programma/paths/~1api~1referral~1reward-history/get"}],"panels":[]}]},"httpPath":"/api/referral/reward-history"},{"label":"Получить список и историю индивидуальных купонов","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/referalnaya-programma/paths/~1api~1coupons/get","routeSlug":"/openapi/referalnaya-programma/paths/~1api~1coupons/get","metadata":{"seo":{"title":"Получить список и историю индивидуальных купонов","description":"Возвращает активные и использованные купоны клиента. При первой регистрациипо валидной реферальной ссылке клиенту автоматически выдаётся купон 10%."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить список и историю индивидуальных купонов","isWebhook":false,"pointer":"/paths/~1api~1coupons/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить список и историю индивидуальных купонов","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает активные и использованные купоны клиента. При первой регистрации"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"по валидной реферальной ссылке клиенту автоматически выдаётся купон 10%."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"status","in":"query","schemaId":"schema_126","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Фильтр по состоянию купона."},"children":[]}]}]}]}],"pointer":"/paths/~1api~1coupons/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/coupons","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[{"name":"status","in":"query","schemaId":"schema_126"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403"],"pointer":"/api/coupons","href":"referalnaya-programma/paths/~1api~1coupons/get","summary":"Получить список и историю индивидуальных купонов","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Список индивидуальных купонов"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CouponsApiResponse","exampleIds":["paths/~1api~1coupons/get/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/CouponsApiResponse","exampleIds":["paths/~1api~1coupons/get/responses/200/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1coupons/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1coupons/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1coupons/get/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1coupons/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1coupons/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1coupons/get/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1coupons/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1coupons/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1coupons/get/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1coupons/get/responses/403/content/application~1json/examples/forbidden"]}],"pointer":"/paths/~1api~1coupons/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/CouponsApiResponse","exampleIds":["paths/~1api~1coupons/get/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CouponsApiResponse","exampleIds":["paths/~1api~1coupons/get/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1coupons/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1coupons/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1coupons/get/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1coupons/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1coupons/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1coupons/get/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1coupons/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1coupons/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1coupons/get/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1coupons/get/responses/403/content/application~1json/examples/forbidden"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/referalnaya-programma/paths/~1api~1coupons/get"}],"panels":[]}]},"httpPath":"/api/coupons"}],"content":{"contentType":"group","meta":{"name":"Реферальная программа"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Реферальная программа","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Ссылка, правила, прогресс, приглашённые друзья и бизнесы, начисленные награды и купоны клиента."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/api/referral","summary":"Получить реферальную ссылку текущего клиента","prefix":{"name":"get","color":"get"},"badges":[],"link":"/referalnaya-programma/paths/~1api~1referral/get","deprecated":false},{"title":"/api/referral/referrals","summary":"Получить рефералов текущего клиента","prefix":{"name":"get","color":"get"},"badges":[],"link":"/referalnaya-programma/paths/~1api~1referral~1referrals/get","deprecated":false},{"title":"/api/referral/program/client","summary":"Получить клиентские условия реферальной программы","prefix":{"name":"get","color":"get"},"badges":[],"link":"/referalnaya-programma/paths/~1api~1referral~1program~1client/get","deprecated":false},{"title":"/api/referral/program/business","summary":"Получить бизнес-условия реферальной программы","prefix":{"name":"get","color":"get"},"badges":[],"link":"/referalnaya-programma/paths/~1api~1referral~1program~1business/get","deprecated":false},{"title":"/api/referral/business-referrals","summary":"Получить приглашённых мастеров и салоны","prefix":{"name":"get","color":"get"},"badges":[],"link":"/referalnaya-programma/paths/~1api~1referral~1business-referrals/get","deprecated":false},{"title":"/api/referral/referrals/{referralId}","summary":"Получить конкретного приглашённого друга и его награду","prefix":{"name":"get","color":"get"},"badges":[],"link":"/referalnaya-programma/paths/~1api~1referral~1referrals~1{referralid}/get","deprecated":false},{"title":"/api/referral/business-referrals/{referralId}","summary":"Получить конкретного приглашённого мастера или салон и награду","prefix":{"name":"get","color":"get"},"badges":[],"link":"/referalnaya-programma/paths/~1api~1referral~1business-referrals~1{referralid}/get","deprecated":false},{"title":"/api/referral/reward-history","summary":"Получить историю начисленных реферальных наград","prefix":{"name":"get","color":"get"},"badges":[],"link":"/referalnaya-programma/paths/~1api~1referral~1reward-history/get","deprecated":false},{"title":"/api/coupons","summary":"Получить список и историю индивидуальных купонов","prefix":{"name":"get","color":"get"},"badges":[],"link":"/referalnaya-programma/paths/~1api~1coupons/get","deprecated":false}]}]}]}]}},{"type":"group","label":"Аутентификация","link":"/openapi/autentifikaciya","routeSlug":"/openapi/autentifikaciya","items":[{"type":"link","label":"Captcha","link":"/openapi/autentifikaciya/captcha","routeSlug":"/openapi/autentifikaciya/captcha","content":{"contentType":"item","itemVariant":"markdown","meta":{"name":"Captcha"},"children":[{"nodeType":"container","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":2,"id":"autentifikaciya/captcha"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Captcha"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Для эндпоинтов, где требуется captcha, клиент должен передать одноразовый токен"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"в заголовке:"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"captcha-token: <token>"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Yandex SmartCaptcha site key:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ysc1_Vnah2iqYd6r7kQsOKKstEMxLp4GSd6zHfiU6gTvL0f84838e"},"children":[]}]}]}]}],"panels":[]}]}},{"type":"link","label":"Интеграция SmartCaptcha","link":"/openapi/autentifikaciya/integraciya-smartcaptcha","routeSlug":"/openapi/autentifikaciya/integraciya-smartcaptcha","content":{"contentType":"item","itemVariant":"markdown","meta":{"name":"Интеграция SmartCaptcha"},"children":[{"nodeType":"container","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":2,"id":"autentifikaciya/integraciya-smartcaptcha"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Интеграция SmartCaptcha"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":true,"marker":"."},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Подключите скрипт SmartCaptcha на клиенте"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Отрендерите виджет в контейнере"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Получите одноразовый token после успешной проверки"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Передайте token в API в заголовке "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"captcha-token"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Документация Yandex SmartCaptcha:"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"https://yandex.cloud/ru/docs/smartcaptcha/operations/advanced-method"},"children":[]}]}]}]}],"panels":[]}]}},{"type":"link","label":"WebSocket","link":"/openapi/autentifikaciya/websocket","routeSlug":"/openapi/autentifikaciya/websocket","content":{"contentType":"item","itemVariant":"markdown","meta":{"name":"WebSocket"},"children":[{"nodeType":"container","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":2,"id":"autentifikaciya/websocket"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"WebSocket"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Для подключения к WebSocket клиенту сначала нужно получить JWT через REST-эндпоинты"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"аутентификации."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Дальше подключение выполняется так:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":true,"marker":"."},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Открыть SockJS/WebSocket соединение на endpoint "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/ws"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Выполнить STOMP CONNECT"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Передать JWT в STOMP-заголовке "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Authorization"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Формат заголовка:"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Authorization: Bearer <JWT>"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"После успешного подключения клиент может отправлять сообщения в STOMP destinations"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"модуля мессенджера, например:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/app/support.send"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/app/admin/support.send"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/app/chat.send"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/app/chat.salon.send"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/app/chat.read"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/app/chat.reaction"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"И подписываться на пользовательские очереди:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/user/queue/support.delivered"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/user/queue/support.status"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/user/queue/admin.support.delivered"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/user/queue/admin.support.new_message"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/user/queue/admin.support.status"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/user/queue/chat.delivered"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/user/queue/chat.new_message"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/user/queue/chat.update_status_request"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/user/queue/chat.read_message"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/user/queue/chat.reaction"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/user/queue/chat.user_online_status"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/user/queue/errors"},"children":[]}]}]}]}]}],"panels":[]}]}},{"label":"Отправить OTP на телефон","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/autentifikaciya/paths/~1api~1auth~1phone~1send~1otp/post","routeSlug":"/openapi/autentifikaciya/paths/~1api~1auth~1phone~1send~1otp/post","metadata":{"seo":{"title":"Отправить OTP на телефон","description":"Отправляет одноразовый код подтверждения на указанный номер телефона."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Отправить OTP на телефон","isWebhook":false,"pointer":"/paths/~1api~1auth~1phone~1send~1otp/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Отправить OTP на телефон","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Отправляет одноразовый код подтверждения на указанный номер телефона."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"обязателен заголовок "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"captcha-token"},"children":[]}]}]}]}]},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"captcha-token","in":"header","schemaId":"schema_127","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Одноразовый токен Yandex SmartCaptcha."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Передаётся в заголовке:"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"captcha-token: <token>"},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1auth~1phone~1send~1otp/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/PhoneSendOtpRequest","exampleIds":["paths/~1api~1auth~1phone~1send~1otp/post/requestBody/content/application~1json/examples/example"]}},"schemaId":"components/schemas/PhoneSendOtpRequest","exampleIds":["paths/~1api~1auth~1phone~1send~1otp/post/requestBody/content/application~1json/examples/example"],"pointer":"/paths/~1api~1auth~1phone~1send~1otp/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/auth/phone/send/otp","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"captcha-token","in":"header","required":true,"schemaId":"schema_127"}],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"components/schemas/PhoneSendOtpRequest","exampleIds":["paths/~1api~1auth~1phone~1send~1otp/post/requestBody/content/application~1json/examples/example"]}},"responseCodes":["200","400","403","429"],"pointer":"/api/auth/phone/send/otp","href":"autentifikaciya/paths/~1api~1auth~1phone~1send~1otp/post","summary":"Отправить OTP на телефон"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/PhoneSendOtpRequest","exampleIds":["paths/~1api~1auth~1phone~1send~1otp/post/requestBody/content/application~1json/examples/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/PhoneSendOtpRequest","exampleIds":["paths/~1api~1auth~1phone~1send~1otp/post/requestBody/content/application~1json/examples/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"OTP успешно отправлен"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1auth~1phone~1send~1otp/post/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1auth~1phone~1send~1otp/post/responses/200/content/application~1json/examples/ok"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1phone~1send~1otp/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1auth~1phone~1send~1otp/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1auth~1phone~1send~1otp/post/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1phone~1send~1otp/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1auth~1phone~1send~1otp/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1auth~1phone~1send~1otp/post/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Captcha отсутствует, невалидна или проверка завершилась ошибкой"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1phone~1send~1otp/post/responses/403/content/application~1json/examples/invalid_captcha"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1phone~1send~1otp/post/responses/403/content/application~1json/examples/invalid_captcha"]},{"code":"429","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Превышен лимит запросов."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Поле "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"data.TTL"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" содержит количество секунд до следующей попытки."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/TooManyRequestResponse","exampleIds":["paths/~1api~1auth~1phone~1send~1otp/post/responses/429/content/application~1json/examples/too_many"]}},"schemaId":"components/schemas/TooManyRequestResponse","exampleIds":["paths/~1api~1auth~1phone~1send~1otp/post/responses/429/content/application~1json/examples/too_many"]}],"pointer":"/paths/~1api~1auth~1phone~1send~1otp/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1auth~1phone~1send~1otp/post/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1auth~1phone~1send~1otp/post/responses/200/content/application~1json/examples/ok"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1phone~1send~1otp/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1auth~1phone~1send~1otp/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1auth~1phone~1send~1otp/post/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1phone~1send~1otp/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1auth~1phone~1send~1otp/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1auth~1phone~1send~1otp/post/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1phone~1send~1otp/post/responses/403/content/application~1json/examples/invalid_captcha"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1phone~1send~1otp/post/responses/403/content/application~1json/examples/invalid_captcha"]}}},{"code":"429","schemaId":"components/schemas/TooManyRequestResponse","exampleIds":["paths/~1api~1auth~1phone~1send~1otp/post/responses/429/content/application~1json/examples/too_many"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/TooManyRequestResponse","exampleIds":["paths/~1api~1auth~1phone~1send~1otp/post/responses/429/content/application~1json/examples/too_many"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/autentifikaciya/paths/~1api~1auth~1phone~1send~1otp/post"}],"panels":[]}]},"httpPath":"/api/auth/phone/send/otp"},{"label":"Войти по номеру телефона и OTP","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/autentifikaciya/paths/~1api~1auth~1phone~1login/post","routeSlug":"/openapi/autentifikaciya/paths/~1api~1auth~1phone~1login/post","metadata":{"seo":{"title":"Войти по номеру телефона и OTP","description":"Авторизует пользователя по номеру телефона и OTP-коду."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Войти по номеру телефона и OTP","isWebhook":false,"pointer":"/paths/~1api~1auth~1phone~1login/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Войти по номеру телефона и OTP","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Авторизует пользователя по номеру телефона и OTP-коду."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Дополнительно клиент обязан передать "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"type_account"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - ожидаемый тип аккаунта."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Допустимые значения: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CLIENT"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"MASTER"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SALON"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Если "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"type_account = SALON"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", клиент обязан передать "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"role_in_salon"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Допустимые значения: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"OWNER"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"MASTER"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ADMIN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Если "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"role_in_salon = MASTER"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" или "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ADMIN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", клиент обязан передать "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"invite_token"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Необязательное поле "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"referral_code"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" обрабатывается только при создании нового аккаунта."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Его могут использовать клиент ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CLIENT"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"), индивидуальный мастер ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"MASTER"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") и владелец"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"салона ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SALON"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" с "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"role_in_salon = OWNER"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). Для мастера и администратора салона"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SALON"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" с "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"role_in_salon = MASTER"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" или "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ADMIN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") реферальный код игнорируется."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Если рефовод с указанным ID не существует, аккаунт создаётся без рефовода."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"При входе в уже существующий аккаунт "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"referral_code"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" игнорируется. Если аккаунт был удалён"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"и затем создан повторно с тем же телефоном, сохраняется первоначальный рефовод и прежний"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"статус реферала: новый код не может заменить историческую привязку и повторная награда"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"не начисляется."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"В успешном ответе возвращает пару токенов:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"JWT"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - access token"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"RT"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - refresh token"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Отдельный business_invite_token разрешён только CLIENT и несовместим с непустыми"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"referral_code и invite_token. Некорректный или недоступный MASTER:id / SALON:id даёт invalid_body"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"на этапе валидации. Для валидного идентификатора отказ бизнес-программы (например,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ALREADY_BOUND_TO_OTHER_BUSINESS) не блокирует вход и сохраняется в списке бизнеса;"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"персональная рефералка и купоны автоматически не запускаются."},"children":[]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/PhoneLoginRequest","exampleIds":["paths/~1api~1auth~1phone~1login/post/requestBody/content/application~1json/examples/example"]}},"schemaId":"components/schemas/PhoneLoginRequest","exampleIds":["paths/~1api~1auth~1phone~1login/post/requestBody/content/application~1json/examples/example"],"pointer":"/paths/~1api~1auth~1phone~1login/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/auth/phone/login","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"components/schemas/PhoneLoginRequest","exampleIds":["paths/~1api~1auth~1phone~1login/post/requestBody/content/application~1json/examples/example"]}},"responseCodes":["200","400","401","404","410"],"pointer":"/api/auth/phone/login","href":"autentifikaciya/paths/~1api~1auth~1phone~1login/post","summary":"Войти по номеру телефона и OTP"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/PhoneLoginRequest","exampleIds":["paths/~1api~1auth~1phone~1login/post/requestBody/content/application~1json/examples/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/PhoneLoginRequest","exampleIds":["paths/~1api~1auth~1phone~1login/post/requestBody/content/application~1json/examples/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Авторизация выполнена успешно"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/TokenPairResponse","exampleIds":["paths/~1api~1auth~1phone~1login/post/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/TokenPairResponse","exampleIds":["paths/~1api~1auth~1phone~1login/post/responses/200/content/application~1json/examples/ok"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1phone~1login/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1auth~1phone~1login/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1auth~1phone~1login/post/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1phone~1login/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1auth~1phone~1login/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1auth~1phone~1login/post/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1phone~1login/post/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1phone~1login/post/responses/401/content/application~1json/examples/unauthorized"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрошенный ресурс не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1phone~1login/post/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1phone~1login/post/responses/404/content/application~1json/examples/not_found"]},{"code":"410","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Одноразовый код истёк, удалён или больше не действителен"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1phone~1login/post/responses/410/content/application~1json/examples/code_is_gone"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1phone~1login/post/responses/410/content/application~1json/examples/code_is_gone"]}],"pointer":"/paths/~1api~1auth~1phone~1login/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/TokenPairResponse","exampleIds":["paths/~1api~1auth~1phone~1login/post/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/TokenPairResponse","exampleIds":["paths/~1api~1auth~1phone~1login/post/responses/200/content/application~1json/examples/ok"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1phone~1login/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1auth~1phone~1login/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1auth~1phone~1login/post/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1phone~1login/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1auth~1phone~1login/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1auth~1phone~1login/post/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1phone~1login/post/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1phone~1login/post/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1phone~1login/post/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1phone~1login/post/responses/404/content/application~1json/examples/not_found"]}}},{"code":"410","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1phone~1login/post/responses/410/content/application~1json/examples/code_is_gone"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1phone~1login/post/responses/410/content/application~1json/examples/code_is_gone"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/autentifikaciya/paths/~1api~1auth~1phone~1login/post"}],"panels":[]}]},"httpPath":"/api/auth/phone/login"},{"label":"Проверить наличие привязанной почты по телефону","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/autentifikaciya/paths/~1api~1auth~1phone~1email-status/post","routeSlug":"/openapi/autentifikaciya/paths/~1api~1auth~1phone~1email-status/post","metadata":{"seo":{"title":"Проверить наличие привязанной почты по телефону","description":"Проверяет, есть ли привязанная почта у аккаунта, найденного по phone, type_accountи опциональному role_in_salon."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Проверить наличие привязанной почты по телефону","isWebhook":false,"pointer":"/paths/~1api~1auth~1phone~1email-status/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Проверить наличие привязанной почты по телефону","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Проверяет, есть ли привязанная почта у аккаунта, найденного по "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"phone"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"type_account"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"и опциональному "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"role_in_salon"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Эндпоинт предназначен только для неавторизованных пользователей. Если запрос"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"отправлен с валидным JWT в "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Authorization"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" или cookie "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"JWT"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", сервер вернет "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"403"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Правила области аккаунта совпадают с публичным входом по телефону:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"type_account = ADMIN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" запрещен;"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"role_in_salon"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" можно передавать только при "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"type_account = SALON"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":";"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"при "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"type_account = SALON"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" поле "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"role_in_salon"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" обязательно."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"data.email_attached = false"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" означает, что для указанной области аккаунта"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"привязанная почта не найдена. Ответ намеренно не раскрывает отдельно,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"существует ли сам аккаунт с таким телефоном."},"children":[]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/PhoneEmailStatusRequest","exampleIds":["paths/~1api~1auth~1phone~1email-status/post/requestBody/content/application~1json/examples/client"]}},"schemaId":"components/schemas/PhoneEmailStatusRequest","exampleIds":["paths/~1api~1auth~1phone~1email-status/post/requestBody/content/application~1json/examples/client"],"pointer":"/paths/~1api~1auth~1phone~1email-status/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/auth/phone/email-status","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"components/schemas/PhoneEmailStatusRequest","exampleIds":["paths/~1api~1auth~1phone~1email-status/post/requestBody/content/application~1json/examples/client"]}},"responseCodes":["200","400","403"],"pointer":"/api/auth/phone/email-status","href":"autentifikaciya/paths/~1api~1auth~1phone~1email-status/post","summary":"Проверить наличие привязанной почты по телефону"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/PhoneEmailStatusRequest","exampleIds":["paths/~1api~1auth~1phone~1email-status/post/requestBody/content/application~1json/examples/client"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/PhoneEmailStatusRequest","exampleIds":["paths/~1api~1auth~1phone~1email-status/post/requestBody/content/application~1json/examples/client"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Статус привязанной почты успешно определен"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/PhoneEmailStatusResponse","exampleIds":["paths/~1api~1auth~1phone~1email-status/post/responses/200/content/application~1json/examples/attached","paths/~1api~1auth~1phone~1email-status/post/responses/200/content/application~1json/examples/not_attached"]}},"schemaId":"components/schemas/PhoneEmailStatusResponse","exampleIds":["paths/~1api~1auth~1phone~1email-status/post/responses/200/content/application~1json/examples/attached","paths/~1api~1auth~1phone~1email-status/post/responses/200/content/application~1json/examples/not_attached"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело запроса"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1phone~1email-status/post/responses/400/content/application~1json/examples/phone_empty","paths/~1api~1auth~1phone~1email-status/post/responses/400/content/application~1json/examples/type_account_null","paths/~1api~1auth~1phone~1email-status/post/responses/400/content/application~1json/examples/admin_forbidden","paths/~1api~1auth~1phone~1email-status/post/responses/400/content/application~1json/examples/role_only_for_salon","paths/~1api~1auth~1phone~1email-status/post/responses/400/content/application~1json/examples/salon_role_required"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1phone~1email-status/post/responses/400/content/application~1json/examples/phone_empty","paths/~1api~1auth~1phone~1email-status/post/responses/400/content/application~1json/examples/type_account_null","paths/~1api~1auth~1phone~1email-status/post/responses/400/content/application~1json/examples/admin_forbidden","paths/~1api~1auth~1phone~1email-status/post/responses/400/content/application~1json/examples/role_only_for_salon","paths/~1api~1auth~1phone~1email-status/post/responses/400/content/application~1json/examples/salon_role_required"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1phone~1email-status/post/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1phone~1email-status/post/responses/403/content/application~1json/examples/forbidden"]}],"pointer":"/paths/~1api~1auth~1phone~1email-status/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/PhoneEmailStatusResponse","exampleIds":["paths/~1api~1auth~1phone~1email-status/post/responses/200/content/application~1json/examples/attached","paths/~1api~1auth~1phone~1email-status/post/responses/200/content/application~1json/examples/not_attached"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/PhoneEmailStatusResponse","exampleIds":["paths/~1api~1auth~1phone~1email-status/post/responses/200/content/application~1json/examples/attached","paths/~1api~1auth~1phone~1email-status/post/responses/200/content/application~1json/examples/not_attached"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1phone~1email-status/post/responses/400/content/application~1json/examples/phone_empty","paths/~1api~1auth~1phone~1email-status/post/responses/400/content/application~1json/examples/type_account_null","paths/~1api~1auth~1phone~1email-status/post/responses/400/content/application~1json/examples/admin_forbidden","paths/~1api~1auth~1phone~1email-status/post/responses/400/content/application~1json/examples/role_only_for_salon","paths/~1api~1auth~1phone~1email-status/post/responses/400/content/application~1json/examples/salon_role_required"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1phone~1email-status/post/responses/400/content/application~1json/examples/phone_empty","paths/~1api~1auth~1phone~1email-status/post/responses/400/content/application~1json/examples/type_account_null","paths/~1api~1auth~1phone~1email-status/post/responses/400/content/application~1json/examples/admin_forbidden","paths/~1api~1auth~1phone~1email-status/post/responses/400/content/application~1json/examples/role_only_for_salon","paths/~1api~1auth~1phone~1email-status/post/responses/400/content/application~1json/examples/salon_role_required"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1phone~1email-status/post/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1phone~1email-status/post/responses/403/content/application~1json/examples/forbidden"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/autentifikaciya/paths/~1api~1auth~1phone~1email-status/post"}],"panels":[]}]},"httpPath":"/api/auth/phone/email-status"},{"label":"Войти по email и OTP","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/autentifikaciya/paths/~1api~1auth~1email~1login/post","routeSlug":"/openapi/autentifikaciya/paths/~1api~1auth~1email~1login/post","metadata":{"seo":{"title":"Войти по email и OTP","description":"Авторизует уже существующего пользователя по email и OTP-коду."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Войти по email и OTP","isWebhook":false,"pointer":"/paths/~1api~1auth~1email~1login/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Войти по email и OTP","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Авторизует уже существующего пользователя по email и OTP-коду."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Регистрация по email здесь не выполняется. Клиент обязан передать "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"type_account"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" -"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"тип аккаунта, в который выполняется вход. Допустимые значения: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CLIENT"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"MASTER"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SALON"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Если "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"type_account = SALON"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", клиент обязан передать "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"role_in_salon"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"В успешном ответе возвращает пару токенов:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"JWT"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - access token"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"RT"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - refresh token"},"children":[]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/EmailLoginRequest","exampleIds":["paths/~1api~1auth~1email~1login/post/requestBody/content/application~1json/examples/example"]}},"schemaId":"components/schemas/EmailLoginRequest","exampleIds":["paths/~1api~1auth~1email~1login/post/requestBody/content/application~1json/examples/example"],"pointer":"/paths/~1api~1auth~1email~1login/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/auth/email/login","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"components/schemas/EmailLoginRequest","exampleIds":["paths/~1api~1auth~1email~1login/post/requestBody/content/application~1json/examples/example"]}},"responseCodes":["200","400","401","404","410"],"pointer":"/api/auth/email/login","href":"autentifikaciya/paths/~1api~1auth~1email~1login/post","summary":"Войти по email и OTP"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/EmailLoginRequest","exampleIds":["paths/~1api~1auth~1email~1login/post/requestBody/content/application~1json/examples/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/EmailLoginRequest","exampleIds":["paths/~1api~1auth~1email~1login/post/requestBody/content/application~1json/examples/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Авторизация выполнена успешно"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/TokenPairResponse","exampleIds":["paths/~1api~1auth~1email~1login/post/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/TokenPairResponse","exampleIds":["paths/~1api~1auth~1email~1login/post/responses/200/content/application~1json/examples/ok"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1email~1login/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1auth~1email~1login/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1auth~1email~1login/post/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1email~1login/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1auth~1email~1login/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1auth~1email~1login/post/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1email~1login/post/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1email~1login/post/responses/401/content/application~1json/examples/unauthorized"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрошенный ресурс не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1email~1login/post/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1email~1login/post/responses/404/content/application~1json/examples/not_found"]},{"code":"410","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Одноразовый код истёк, удалён или больше не действителен"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1email~1login/post/responses/410/content/application~1json/examples/code_is_gone"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1email~1login/post/responses/410/content/application~1json/examples/code_is_gone"]}],"pointer":"/paths/~1api~1auth~1email~1login/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/TokenPairResponse","exampleIds":["paths/~1api~1auth~1email~1login/post/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/TokenPairResponse","exampleIds":["paths/~1api~1auth~1email~1login/post/responses/200/content/application~1json/examples/ok"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1email~1login/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1auth~1email~1login/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1auth~1email~1login/post/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1email~1login/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1auth~1email~1login/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1auth~1email~1login/post/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1email~1login/post/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1email~1login/post/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1email~1login/post/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1email~1login/post/responses/404/content/application~1json/examples/not_found"]}}},{"code":"410","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1email~1login/post/responses/410/content/application~1json/examples/code_is_gone"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1email~1login/post/responses/410/content/application~1json/examples/code_is_gone"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/autentifikaciya/paths/~1api~1auth~1email~1login/post"}],"panels":[]}]},"httpPath":"/api/auth/email/login"},{"label":"Изменить телефон текущего пользователя","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/autentifikaciya/paths/~1api~1auth~1phone~1edit/post","routeSlug":"/openapi/autentifikaciya/paths/~1api~1auth~1phone~1edit/post","metadata":{"seo":{"title":"Изменить телефон текущего пользователя","description":"Подтверждает новый номер телефона по OTP-коду и изменяет его у текущего пользователя."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Изменить телефон текущего пользователя","isWebhook":false,"pointer":"/paths/~1api~1auth~1phone~1edit/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Изменить телефон текущего пользователя","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Подтверждает новый номер телефона по OTP-коду и изменяет его у текущего пользователя."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"новый номер не должен быть уже зарегистрирован"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/EditPhoneRequest","exampleIds":["paths/~1api~1auth~1phone~1edit/post/requestBody/content/application~1json/examples/example"]}},"schemaId":"components/schemas/EditPhoneRequest","exampleIds":["paths/~1api~1auth~1phone~1edit/post/requestBody/content/application~1json/examples/example"],"pointer":"/paths/~1api~1auth~1phone~1edit/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/auth/phone/edit","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/EditPhoneRequest","exampleIds":["paths/~1api~1auth~1phone~1edit/post/requestBody/content/application~1json/examples/example"]}},"responseCodes":["200","400","401","409","410"],"pointer":"/api/auth/phone/edit","href":"autentifikaciya/paths/~1api~1auth~1phone~1edit/post","summary":"Изменить телефон текущего пользователя","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/EditPhoneRequest","exampleIds":["paths/~1api~1auth~1phone~1edit/post/requestBody/content/application~1json/examples/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/EditPhoneRequest","exampleIds":["paths/~1api~1auth~1phone~1edit/post/requestBody/content/application~1json/examples/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Телефон успешно изменён"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1auth~1phone~1edit/post/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1auth~1phone~1edit/post/responses/200/content/application~1json/examples/ok"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1phone~1edit/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1auth~1phone~1edit/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1auth~1phone~1edit/post/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1phone~1edit/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1auth~1phone~1edit/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1auth~1phone~1edit/post/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1phone~1edit/post/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1phone~1edit/post/responses/401/content/application~1json/examples/unauthorized"]},{"code":"409","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Конфликт состояния ресурса"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1phone~1edit/post/responses/409/content/application~1json/examples/phone_already_registered","paths/~1api~1auth~1phone~1edit/post/responses/409/content/application~1json/examples/object_modified"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1phone~1edit/post/responses/409/content/application~1json/examples/phone_already_registered","paths/~1api~1auth~1phone~1edit/post/responses/409/content/application~1json/examples/object_modified"]},{"code":"410","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Одноразовый код истёк, удалён или больше не действителен"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1phone~1edit/post/responses/410/content/application~1json/examples/code_is_gone"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1phone~1edit/post/responses/410/content/application~1json/examples/code_is_gone"]}],"pointer":"/paths/~1api~1auth~1phone~1edit/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1auth~1phone~1edit/post/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1auth~1phone~1edit/post/responses/200/content/application~1json/examples/ok"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1phone~1edit/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1auth~1phone~1edit/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1auth~1phone~1edit/post/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1phone~1edit/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1auth~1phone~1edit/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1auth~1phone~1edit/post/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1phone~1edit/post/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1phone~1edit/post/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"409","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1phone~1edit/post/responses/409/content/application~1json/examples/phone_already_registered","paths/~1api~1auth~1phone~1edit/post/responses/409/content/application~1json/examples/object_modified"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1phone~1edit/post/responses/409/content/application~1json/examples/phone_already_registered","paths/~1api~1auth~1phone~1edit/post/responses/409/content/application~1json/examples/object_modified"]}}},{"code":"410","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1phone~1edit/post/responses/410/content/application~1json/examples/code_is_gone"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1phone~1edit/post/responses/410/content/application~1json/examples/code_is_gone"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/autentifikaciya/paths/~1api~1auth~1phone~1edit/post"}],"panels":[]}]},"httpPath":"/api/auth/phone/edit"},{"label":"Отправить OTP на email","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/autentifikaciya/paths/~1api~1auth~1email~1send~1otp/post","routeSlug":"/openapi/autentifikaciya/paths/~1api~1auth~1email~1send~1otp/post","metadata":{"seo":{"title":"Отправить OTP на email","description":"Отправляет OTP-код на указанный email."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Отправить OTP на email","isWebhook":false,"pointer":"/paths/~1api~1auth~1email~1send~1otp/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Отправить OTP на email","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Отправляет OTP-код на указанный email."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Особенности:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"JWT не требуется"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"если передан валидный JWT, сервер получает текущий аккаунт из сессии"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"и перед отправкой проверяет, можно ли привязать указанный email"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"если JWT не передан или сессия не определена, OTP отправляется без проверки привязки"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"для авторизованного пользователя OTP не отправляется, если у текущего аккаунта уже есть привязанная почта"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"для авторизованного пользователя один email может использоваться в разных ролях только при том же телефоне"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"обязателен заголовок "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"captcha-token"},"children":[]}]}]}]}]},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"captcha-token","in":"header","schemaId":"schema_127","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Одноразовый токен Yandex SmartCaptcha."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Передаётся в заголовке:"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"captcha-token: <token>"},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1auth~1email~1send~1otp/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/EmailRecipientRequest","exampleIds":["paths/~1api~1auth~1email~1send~1otp/post/requestBody/content/application~1json/examples/example"]}},"schemaId":"components/schemas/EmailRecipientRequest","exampleIds":["paths/~1api~1auth~1email~1send~1otp/post/requestBody/content/application~1json/examples/example"],"pointer":"/paths/~1api~1auth~1email~1send~1otp/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/auth/email/send/otp","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"captcha-token","in":"header","required":true,"schemaId":"schema_127"}],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"components/schemas/EmailRecipientRequest","exampleIds":["paths/~1api~1auth~1email~1send~1otp/post/requestBody/content/application~1json/examples/example"]}},"responseCodes":["200","400","403","409","429"],"pointer":"/api/auth/email/send/otp","href":"autentifikaciya/paths/~1api~1auth~1email~1send~1otp/post","summary":"Отправить OTP на email"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/EmailRecipientRequest","exampleIds":["paths/~1api~1auth~1email~1send~1otp/post/requestBody/content/application~1json/examples/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/EmailRecipientRequest","exampleIds":["paths/~1api~1auth~1email~1send~1otp/post/requestBody/content/application~1json/examples/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрос обработан; OTP-код будет отправлен на указанный email"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1auth~1email~1send~1otp/post/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1auth~1email~1send~1otp/post/responses/200/content/application~1json/examples/ok"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1email~1send~1otp/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1auth~1email~1send~1otp/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1auth~1email~1send~1otp/post/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1email~1send~1otp/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1auth~1email~1send~1otp/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1auth~1email~1send~1otp/post/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Captcha отсутствует, невалидна или проверка завершилась ошибкой"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1email~1send~1otp/post/responses/403/content/application~1json/examples/invalid_captcha"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1email~1send~1otp/post/responses/403/content/application~1json/examples/invalid_captcha"]},{"code":"409","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Email нельзя привязать к текущему авторизованному аккаунту"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1email~1send~1otp/post/responses/409/content/application~1json/examples/email_already_attached","paths/~1api~1auth~1email~1send~1otp/post/responses/409/content/application~1json/examples/email_already_registered"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1email~1send~1otp/post/responses/409/content/application~1json/examples/email_already_attached","paths/~1api~1auth~1email~1send~1otp/post/responses/409/content/application~1json/examples/email_already_registered"]},{"code":"429","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Превышен лимит запросов."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Поле "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"data.TTL"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" содержит количество секунд до следующей попытки."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/TooManyRequestResponse","exampleIds":["paths/~1api~1auth~1email~1send~1otp/post/responses/429/content/application~1json/examples/too_many"]}},"schemaId":"components/schemas/TooManyRequestResponse","exampleIds":["paths/~1api~1auth~1email~1send~1otp/post/responses/429/content/application~1json/examples/too_many"]}],"pointer":"/paths/~1api~1auth~1email~1send~1otp/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1auth~1email~1send~1otp/post/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1auth~1email~1send~1otp/post/responses/200/content/application~1json/examples/ok"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1email~1send~1otp/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1auth~1email~1send~1otp/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1auth~1email~1send~1otp/post/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1email~1send~1otp/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1auth~1email~1send~1otp/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1auth~1email~1send~1otp/post/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1email~1send~1otp/post/responses/403/content/application~1json/examples/invalid_captcha"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1email~1send~1otp/post/responses/403/content/application~1json/examples/invalid_captcha"]}}},{"code":"409","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1email~1send~1otp/post/responses/409/content/application~1json/examples/email_already_attached","paths/~1api~1auth~1email~1send~1otp/post/responses/409/content/application~1json/examples/email_already_registered"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1email~1send~1otp/post/responses/409/content/application~1json/examples/email_already_attached","paths/~1api~1auth~1email~1send~1otp/post/responses/409/content/application~1json/examples/email_already_registered"]}}},{"code":"429","schemaId":"components/schemas/TooManyRequestResponse","exampleIds":["paths/~1api~1auth~1email~1send~1otp/post/responses/429/content/application~1json/examples/too_many"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/TooManyRequestResponse","exampleIds":["paths/~1api~1auth~1email~1send~1otp/post/responses/429/content/application~1json/examples/too_many"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/autentifikaciya/paths/~1api~1auth~1email~1send~1otp/post"}],"panels":[]}]},"httpPath":"/api/auth/email/send/otp"},{"label":"Привязать email к текущему пользователю","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/autentifikaciya/paths/~1api~1auth~1email~1add/put","routeSlug":"/openapi/autentifikaciya/paths/~1api~1auth~1email~1add/put","metadata":{"seo":{"title":"Привязать email к текущему пользователю","description":"Подтверждает email по OTP-коду и привязывает его к текущему пользователю."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Привязать email к текущему пользователю","isWebhook":false,"pointer":"/paths/~1api~1auth~1email~1add/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Привязать email к текущему пользователю","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Подтверждает email по OTP-коду и привязывает его к текущему пользователю."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/EmailAddRequest","exampleIds":["paths/~1api~1auth~1email~1add/put/requestBody/content/application~1json/examples/example"]}},"schemaId":"components/schemas/EmailAddRequest","exampleIds":["paths/~1api~1auth~1email~1add/put/requestBody/content/application~1json/examples/example"],"pointer":"/paths/~1api~1auth~1email~1add/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/api/auth/email/add","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/EmailAddRequest","exampleIds":["paths/~1api~1auth~1email~1add/put/requestBody/content/application~1json/examples/example"]}},"responseCodes":["200","400","401","409","410"],"pointer":"/api/auth/email/add","href":"autentifikaciya/paths/~1api~1auth~1email~1add/put","summary":"Привязать email к текущему пользователю","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/EmailAddRequest","exampleIds":["paths/~1api~1auth~1email~1add/put/requestBody/content/application~1json/examples/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/EmailAddRequest","exampleIds":["paths/~1api~1auth~1email~1add/put/requestBody/content/application~1json/examples/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Email успешно привязан"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1auth~1email~1add/put/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1auth~1email~1add/put/responses/200/content/application~1json/examples/ok"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1email~1add/put/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1auth~1email~1add/put/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1auth~1email~1add/put/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1email~1add/put/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1auth~1email~1add/put/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1auth~1email~1add/put/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1email~1add/put/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1email~1add/put/responses/401/content/application~1json/examples/unauthorized"]},{"code":"409","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Email уже привязан к аккаунту с другим телефоном"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1email~1add/put/responses/409/content/application~1json/examples/email_already_registered"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1email~1add/put/responses/409/content/application~1json/examples/email_already_registered"]},{"code":"410","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Одноразовый код истёк, удалён или больше не действителен"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1email~1add/put/responses/410/content/application~1json/examples/code_is_gone"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1email~1add/put/responses/410/content/application~1json/examples/code_is_gone"]}],"pointer":"/paths/~1api~1auth~1email~1add/put/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1auth~1email~1add/put/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1auth~1email~1add/put/responses/200/content/application~1json/examples/ok"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1email~1add/put/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1auth~1email~1add/put/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1auth~1email~1add/put/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1email~1add/put/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1auth~1email~1add/put/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1auth~1email~1add/put/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1email~1add/put/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1email~1add/put/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"409","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1email~1add/put/responses/409/content/application~1json/examples/email_already_registered"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1email~1add/put/responses/409/content/application~1json/examples/email_already_registered"]}}},{"code":"410","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1email~1add/put/responses/410/content/application~1json/examples/code_is_gone"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1email~1add/put/responses/410/content/application~1json/examples/code_is_gone"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/autentifikaciya/paths/~1api~1auth~1email~1add/put"}],"panels":[]}]},"httpPath":"/api/auth/email/add"},{"label":"Обновить access token по refresh token","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/autentifikaciya/paths/~1api~1auth~1refresh-token/post","routeSlug":"/openapi/autentifikaciya/paths/~1api~1auth~1refresh-token/post","metadata":{"seo":{"title":"Обновить access token по refresh token","description":"Обновляет пару токенов JWT и RT по refresh token."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Обновить access token по refresh token","isWebhook":false,"pointer":"/paths/~1api~1auth~1refresh-token/post","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Обновить access token по refresh token","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Обновляет пару токенов "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"JWT"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"RT"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" по refresh token."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Refresh token можно передать одним из способов:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"заголовок: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"RT: Bearer <refresh_token>"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"cookie: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"RT=<refresh_token>"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"refreshTokenHeader","scopes":[],"type":"apiKey","in":"header","paramName":"RT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"RT: Bearer <refresh_token>"},"children":[]}]}]}]}]},{"schemes":[{"name":"refreshTokenCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"RT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: RT=<refresh_token>"},"children":[]}]}]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/auth/refresh-token","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"refreshTokenHeader","type":"apiKey","name":"RT","in":"header"}],"scopes":[]},{"schemes":[{"id":"refreshTokenCookie","type":"apiKey","name":"RT","in":"cookie"}],"scopes":[]}],"responseCodes":["200"],"pointer":"/api/auth/refresh-token","href":"autentifikaciya/paths/~1api~1auth~1refresh-token/post","summary":"Обновить access token по refresh token","securityGroups":[{"refreshTokenHeader":[]},{"refreshTokenCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Токены успешно обновлены"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/TokenPairResponse","exampleIds":["paths/~1api~1auth~1refresh-token/post/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/TokenPairResponse","exampleIds":["paths/~1api~1auth~1refresh-token/post/responses/200/content/application~1json/examples/ok"]}],"pointer":"/paths/~1api~1auth~1refresh-token/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/TokenPairResponse","exampleIds":["paths/~1api~1auth~1refresh-token/post/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/TokenPairResponse","exampleIds":["paths/~1api~1auth~1refresh-token/post/responses/200/content/application~1json/examples/ok"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/autentifikaciya/paths/~1api~1auth~1refresh-token/post"}],"panels":[]}]},"httpPath":"/api/auth/refresh-token"},{"label":"Завершить текущую сессию","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/autentifikaciya/paths/~1api~1auth~1logout/post","routeSlug":"/openapi/autentifikaciya/paths/~1api~1auth~1logout/post","metadata":{"seo":{"title":"Завершить текущую сессию","description":"Завершает текущую сессию пользователя по refresh token."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Завершить текущую сессию","isWebhook":false,"pointer":"/paths/~1api~1auth~1logout/post","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Завершить текущую сессию","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Завершает текущую сессию пользователя по refresh token."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется refresh token"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Токены можно передать так:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"JWT: заголовок "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Authorization: Bearer <jwt>"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" или cookie "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"JWT=<jwt>"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"RT: заголовок "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"RT: Bearer <refresh_token>"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" или cookie "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"RT=<refresh_token>"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Важно:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"при успешном вызове этого эндпоинта сервер деактивирует только refresh token"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"JWT этим эндпоинтом не деактивируется и остаётся валидным до собственного истечения"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"поэтому после успешного logout клиент всё равно обязан удалить и JWT, и RT из своего хранилища"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]},{"name":"refreshTokenHeader","scopes":[],"type":"apiKey","in":"header","paramName":"RT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"RT: Bearer <refresh_token>"},"children":[]}]}]}]}]},{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]},{"name":"refreshTokenCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"RT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: RT=<refresh_token>"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]},{"name":"refreshTokenHeader","scopes":[],"type":"apiKey","in":"header","paramName":"RT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"RT: Bearer <refresh_token>"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]},{"name":"refreshTokenCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"RT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: RT=<refresh_token>"},"children":[]}]}]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/auth/logout","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"},{"id":"refreshTokenHeader","type":"apiKey","name":"RT","in":"header"}],"scopes":[]},{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"},{"id":"refreshTokenCookie","type":"apiKey","name":"RT","in":"cookie"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"},{"id":"refreshTokenHeader","type":"apiKey","name":"RT","in":"header"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"},{"id":"refreshTokenCookie","type":"apiKey","name":"RT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","401"],"pointer":"/api/auth/logout","href":"autentifikaciya/paths/~1api~1auth~1logout/post","summary":"Завершить текущую сессию","securityGroups":[{"bearerAuth":[],"refreshTokenHeader":[]},{"bearerAuth":[],"refreshTokenCookie":[]},{"jwtCookie":[],"refreshTokenHeader":[]},{"jwtCookie":[],"refreshTokenCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Logout выполнен успешно, refresh token деактивирован"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1auth~1logout/post/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1auth~1logout/post/responses/200/content/application~1json/examples/ok"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Отсутствует или невалиден refresh token"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1logout/post/responses/401/content/application~1json/examples/invalid_refresh_token"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1logout/post/responses/401/content/application~1json/examples/invalid_refresh_token"]}],"pointer":"/paths/~1api~1auth~1logout/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1auth~1logout/post/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1auth~1logout/post/responses/200/content/application~1json/examples/ok"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1logout/post/responses/401/content/application~1json/examples/invalid_refresh_token"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1auth~1logout/post/responses/401/content/application~1json/examples/invalid_refresh_token"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/autentifikaciya/paths/~1api~1auth~1logout/post"}],"panels":[]}]},"httpPath":"/api/auth/logout"}],"content":{"contentType":"group","meta":{"name":"Аутентификация"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Аутентификация","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Эндпоинты для авторизации, привязки email и обновления токенов."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/api/auth/phone/send/otp","summary":"Отправить OTP на телефон","prefix":{"name":"post","color":"post"},"badges":[],"link":"/autentifikaciya/paths/~1api~1auth~1phone~1send~1otp/post","deprecated":false},{"title":"/api/auth/phone/login","summary":"Войти по номеру телефона и OTP","prefix":{"name":"post","color":"post"},"badges":[],"link":"/autentifikaciya/paths/~1api~1auth~1phone~1login/post","deprecated":false},{"title":"/api/auth/phone/email-status","summary":"Проверить наличие привязанной почты по телефону","prefix":{"name":"post","color":"post"},"badges":[],"link":"/autentifikaciya/paths/~1api~1auth~1phone~1email-status/post","deprecated":false},{"title":"/api/auth/email/login","summary":"Войти по email и OTP","prefix":{"name":"post","color":"post"},"badges":[],"link":"/autentifikaciya/paths/~1api~1auth~1email~1login/post","deprecated":false},{"title":"/api/auth/phone/edit","summary":"Изменить телефон текущего пользователя","prefix":{"name":"post","color":"post"},"badges":[],"link":"/autentifikaciya/paths/~1api~1auth~1phone~1edit/post","deprecated":false},{"title":"/api/auth/email/send/otp","summary":"Отправить OTP на email","prefix":{"name":"post","color":"post"},"badges":[],"link":"/autentifikaciya/paths/~1api~1auth~1email~1send~1otp/post","deprecated":false},{"title":"/api/auth/email/add","summary":"Привязать email к текущему пользователю","prefix":{"name":"put","color":"put"},"badges":[],"link":"/autentifikaciya/paths/~1api~1auth~1email~1add/put","deprecated":false},{"title":"/api/auth/refresh-token","summary":"Обновить access token по refresh token","prefix":{"name":"post","color":"post"},"badges":[],"link":"/autentifikaciya/paths/~1api~1auth~1refresh-token/post","deprecated":false},{"title":"/api/auth/logout","summary":"Завершить текущую сессию","prefix":{"name":"post","color":"post"},"badges":[],"link":"/autentifikaciya/paths/~1api~1auth~1logout/post","deprecated":false}]}]}]}]}},{"type":"group","label":"Файлы","link":"/openapi/fajly","routeSlug":"/openapi/fajly","items":[{"label":"Загрузить файл","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/fajly/paths/~1api~1file~1upload/post","routeSlug":"/openapi/fajly/paths/~1api~1file~1upload/post","metadata":{"seo":{"title":"Загрузить файл","description":"Загружает файл в хранилище."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Загрузить файл","isWebhook":false,"pointer":"/paths/~1api~1file~1upload/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Загрузить файл","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Загружает файл в хранилище."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"JSON-part "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"metadata"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" определяет назначение файла и связанные ограничения по типу,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"размеру и crop."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Ограничения входных данных:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"файл обязателен и не может быть пустым"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"исходное имя файла должно быть непустым и не длиннее 255 символов"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"размер файла должен быть больше 0"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"для файлов с "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content-type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", начинающимся на "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"image/"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", максимальный размер составляет "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"20 MB"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"для остальных файлов максимальный размер составляет "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"100 MB"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"для "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"AVATAR"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" разрешены только "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"image/png"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"image/jpeg"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"image/jpg"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"image/webp"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"для "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CARD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" разрешены только "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"image/png"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"image/jpeg"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"image/jpg"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"image/webp"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"для "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"BLOG"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" разрешены только "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"image/png"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"image/jpeg"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"image/jpg"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"image/webp"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"для "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CATEGORY"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" разрешены только "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"image/png"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"image/jpeg"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"image/jpg"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"image/webp"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"для "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"AVATAR"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" исходное изображение должно быть не меньше "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"300x300"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"crop"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" обязателен, должен быть квадратным и не меньше "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"300x300"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"для "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CARD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" ширина и высота должны быть не меньше "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"900"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", а соотношение сторон не больше "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"3:1"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; квадратность не требуется, "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"crop"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" передавать нельзя"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"для "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"BLOG"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" ширина и высота должны быть не меньше "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"900"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", а соотношение сторон не больше "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"3:1"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; квадратность не требуется, "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"crop"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" передавать нельзя"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"для "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CATEGORY"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" изображение должно быть квадратным и не меньше "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"300x300"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"crop"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" передавать нельзя"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"для "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"MESSAGE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"VOICE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"crop"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" передавать нельзя"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"изображения "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CARD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" после загрузки стандартизируются в "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"image/webp"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" с короткой стороной "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"900"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", без увеличения"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"изображения "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"BLOG"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" после загрузки стандартизируются в "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"image/webp"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" с короткой стороной "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"900"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", без увеличения"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"изображения "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CATEGORY"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" после загрузки стандартизируются в "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"image/webp"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и вписываются в "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"300x300"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"preview создаётся только для purpose, где на backend явно задан размер preview"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"сейчас preview создаётся для "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"AVATAR"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" в "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"image/webp"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", вписанный в "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"150x150"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"сейчас preview создаётся для "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CARD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" в "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"image/webp"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" с короткой стороной "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"сейчас preview создаётся для "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"MESSAGE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" image-файлов в "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"image/webp"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", вписанный в "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"900x900"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"сейчас preview создаётся для "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"BLOG"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" в "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"image/webp"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" с короткой стороной "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"333"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CARD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" используется для карточек мастера, сервиса и салона."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"BLOG"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" используется для изображений постов."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CATEGORY"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" используется для изображений категорий."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["multipart/form-data"],"mediaTypeSchemas":{"multipart/form-data":{"schemaId":"components/schemas/FileUploadRequest","exampleIds":["paths/~1api~1file~1upload/post/requestBody/content/multipart~1form-data/examples/avatarExample","paths/~1api~1file~1upload/post/requestBody/content/multipart~1form-data/examples/cardExample","paths/~1api~1file~1upload/post/requestBody/content/multipart~1form-data/examples/categoryExample"]}},"schemaId":"components/schemas/FileUploadRequest","exampleIds":["paths/~1api~1file~1upload/post/requestBody/content/multipart~1form-data/examples/avatarExample","paths/~1api~1file~1upload/post/requestBody/content/multipart~1form-data/examples/cardExample","paths/~1api~1file~1upload/post/requestBody/content/multipart~1form-data/examples/categoryExample"],"pointer":"/paths/~1api~1file~1upload/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/file/upload","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"requestBody":{"multipart/form-data":{"schemaId":"components/schemas/FileUploadRequest","exampleIds":["paths/~1api~1file~1upload/post/requestBody/content/multipart~1form-data/examples/avatarExample","paths/~1api~1file~1upload/post/requestBody/content/multipart~1form-data/examples/cardExample","paths/~1api~1file~1upload/post/requestBody/content/multipart~1form-data/examples/categoryExample"]}},"responseCodes":["200","400","429"],"pointer":"/api/file/upload","href":"fajly/paths/~1api~1file~1upload/post","summary":"Загрузить файл","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/FileUploadRequest","exampleIds":["paths/~1api~1file~1upload/post/requestBody/content/multipart~1form-data/examples/avatarExample","paths/~1api~1file~1upload/post/requestBody/content/multipart~1form-data/examples/cardExample","paths/~1api~1file~1upload/post/requestBody/content/multipart~1form-data/examples/categoryExample"],"mediaTypes":["multipart/form-data"],"mediaTypeSchemas":{"multipart/form-data":{"schemaId":"components/schemas/FileUploadRequest","exampleIds":["paths/~1api~1file~1upload/post/requestBody/content/multipart~1form-data/examples/avatarExample","paths/~1api~1file~1upload/post/requestBody/content/multipart~1form-data/examples/cardExample","paths/~1api~1file~1upload/post/requestBody/content/multipart~1form-data/examples/categoryExample"]}},"examples":[{},{},{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Файл успешно загружен"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/FileUploadResponse","exampleIds":["paths/~1api~1file~1upload/post/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/FileUploadResponse","exampleIds":["paths/~1api~1file~1upload/post/responses/200/content/application~1json/examples/ok"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1file~1upload/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1file~1upload/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1file~1upload/post/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1file~1upload/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1file~1upload/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1file~1upload/post/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"429","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Превышен лимит запросов."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Поле "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"data.TTL"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" содержит количество секунд до следующей попытки."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/TooManyRequestResponse","exampleIds":["paths/~1api~1file~1upload/post/responses/429/content/application~1json/examples/too_many"]}},"schemaId":"components/schemas/TooManyRequestResponse","exampleIds":["paths/~1api~1file~1upload/post/responses/429/content/application~1json/examples/too_many"]}],"pointer":"/paths/~1api~1file~1upload/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/FileUploadResponse","exampleIds":["paths/~1api~1file~1upload/post/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/FileUploadResponse","exampleIds":["paths/~1api~1file~1upload/post/responses/200/content/application~1json/examples/ok"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1file~1upload/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1file~1upload/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1file~1upload/post/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1file~1upload/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1file~1upload/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1file~1upload/post/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"429","schemaId":"components/schemas/TooManyRequestResponse","exampleIds":["paths/~1api~1file~1upload/post/responses/429/content/application~1json/examples/too_many"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/TooManyRequestResponse","exampleIds":["paths/~1api~1file~1upload/post/responses/429/content/application~1json/examples/too_many"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/fajly/paths/~1api~1file~1upload/post"}],"panels":[]}]},"httpPath":"/api/file/upload"},{"label":"Скачать файл","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/fajly/paths/~1api~1file~1download~1{id}/get","routeSlug":"/openapi/fajly/paths/~1api~1file~1download~1{id}/get","metadata":{"seo":{"title":"Скачать файл","description":"По умолчанию возвращает redirect на файл. Если передать redirect=false,возвращает JSON с временной attachment-ссылкой в data.url. Этот режимполезен браузерным клиентам, которым нельзя читать cross-origin redirect через fetch."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Скачать файл","isWebhook":false,"pointer":"/paths/~1api~1file~1download~1{id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Скачать файл","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"По умолчанию возвращает redirect на файл. Если передать "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"redirect=false"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":","},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"возвращает JSON с временной attachment-ссылкой в "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"data.url"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Этот режим"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"полезен браузерным клиентам, которым нельзя читать cross-origin redirect через "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"fetch"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Query-параметр "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" выбирает, какую ссылку вернуть:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"FULL"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — полный файл"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"PREVIEW"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — preview файла, если он включён для purpose"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор файла"},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1file~1download~1{id}/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"type","in":"query","schemaId":"schema_128","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Тип ссылки. По умолчанию "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"FULL"},"children":[]}]}]}]},{"name":"redirect","in":"query","schemaId":"schema_129","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Вернуть HTTP redirect ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") или JSON со ссылкой ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"false"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}]}],"pointer":"/paths/~1api~1file~1download~1{id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/file/download/{id}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_97"}],"query":[{"name":"type","in":"query","required":false,"schemaId":"schema_128"},{"name":"redirect","in":"query","required":false,"schemaId":"schema_129"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","302","400","403","404","409"],"pointer":"/api/file/download/{id}","href":"fajly/paths/~1api~1file~1download~1{id}/get","summary":"Скачать файл","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Временная attachment-ссылка, когда "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"redirect=false"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/FileStatusApiResponse"}},"schemaId":"components/schemas/FileStatusApiResponse"},{"code":"302","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Redirect на файл"},"children":[]}]}]}],"headers":{"Location":{"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Ссылка для скачивания файла"},"children":[]}]}]}],"schema":{"type":"string","format":"uri"}}},"headerSchemaId":"schema_130"},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Пустой или некорректный id, некорректный type либо preview не включён для этого файла"},"children":[]}]}]}]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Недостаточно прав для доступа к файлу"},"children":[]}]}]}]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Файл не найден"},"children":[]}]}]}]},{"code":"409","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Файл ещё обрабатывается или обработка завершилась ошибкой"},"children":[]}]}]}]}],"pointer":"/paths/~1api~1file~1download~1{id}/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/FileStatusApiResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/FileStatusApiResponse"}}},{"code":"302"},{"code":"400"},{"code":"403"},{"code":"404"},{"code":"409"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/fajly/paths/~1api~1file~1download~1{id}/get"}],"panels":[]}]},"httpPath":"/api/file/download/{id}"},{"label":"Получить статус файла и временную ссылку по id","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/fajly/paths/~1api~1file~1{id}/get","routeSlug":"/openapi/fajly/paths/~1api~1file~1{id}/get","metadata":{"seo":{"title":"Получить статус файла и временную ссылку по id","description":"Возвращает текущее состояние файла и, если файл уже загружен в object storage,временную presigned URL."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить статус файла и временную ссылку по id","isWebhook":false,"pointer":"/paths/~1api~1file~1{id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить статус файла и временную ссылку по id","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает текущее состояние файла и, если файл уже загружен в object storage,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"временную presigned URL."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Query-параметр "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" выбирает, какую ссылку вернуть:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"FULL"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — полный файл"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"PREVIEW"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — preview файла, если он включён для purpose"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Значения "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"data.status"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":":"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"PENDING"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — файл ещё обрабатывается, "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"url = null"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"FAILED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — обработка завершилась ошибкой, "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"url = null"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"UPLOADED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — файл доступен, "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"url"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" содержит временную ссылку"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор файла"},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1file~1{id}/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"type","in":"query","schemaId":"schema_128","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Тип ссылки. По умолчанию "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"FULL"},"children":[]}]}]}]}],"pointer":"/paths/~1api~1file~1{id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/file/{id}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_97"}],"query":[{"name":"type","in":"query","required":false,"schemaId":"schema_128"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","403","404"],"pointer":"/api/file/{id}","href":"fajly/paths/~1api~1file~1{id}/get","summary":"Получить статус файла и временную ссылку по id","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Статус файла успешно получен"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/FileStatusApiResponse","exampleIds":["paths/~1api~1file~1{id}/get/responses/200/content/application~1json/examples/pending","paths/~1api~1file~1{id}/get/responses/200/content/application~1json/examples/failed","paths/~1api~1file~1{id}/get/responses/200/content/application~1json/examples/uploaded"]}},"schemaId":"components/schemas/FileStatusApiResponse","exampleIds":["paths/~1api~1file~1{id}/get/responses/200/content/application~1json/examples/pending","paths/~1api~1file~1{id}/get/responses/200/content/application~1json/examples/failed","paths/~1api~1file~1{id}/get/responses/200/content/application~1json/examples/uploaded"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Пустой или некорректный id"},"children":[]}]}]}]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Недостаточно прав для доступа к файлу"},"children":[]}]}]}]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Файл не найден"},"children":[]}]}]}]}],"pointer":"/paths/~1api~1file~1{id}/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/FileStatusApiResponse","exampleIds":["paths/~1api~1file~1{id}/get/responses/200/content/application~1json/examples/pending","paths/~1api~1file~1{id}/get/responses/200/content/application~1json/examples/failed","paths/~1api~1file~1{id}/get/responses/200/content/application~1json/examples/uploaded"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/FileStatusApiResponse","exampleIds":["paths/~1api~1file~1{id}/get/responses/200/content/application~1json/examples/pending","paths/~1api~1file~1{id}/get/responses/200/content/application~1json/examples/failed","paths/~1api~1file~1{id}/get/responses/200/content/application~1json/examples/uploaded"]}}},{"code":"400"},{"code":"403"},{"code":"404"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/fajly/paths/~1api~1file~1{id}/get"}],"panels":[]}]},"httpPath":"/api/file/{id}"}],"content":{"contentType":"group","meta":{"name":"Файлы"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Файлы","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Загрузка файлов и получение доступа к ним."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/api/file/upload","summary":"Загрузить файл","prefix":{"name":"post","color":"post"},"badges":[],"link":"/fajly/paths/~1api~1file~1upload/post","deprecated":false},{"title":"/api/file/download/{id}","summary":"Скачать файл","prefix":{"name":"get","color":"get"},"badges":[],"link":"/fajly/paths/~1api~1file~1download~1{id}/get","deprecated":false},{"title":"/api/file/{id}","summary":"Получить статус файла и временную ссылку по id","prefix":{"name":"get","color":"get"},"badges":[],"link":"/fajly/paths/~1api~1file~1{id}/get","deprecated":false}]}]}]}]}},{"type":"group","label":"Профиль","link":"/openapi/profil","routeSlug":"/openapi/profil","items":[{"label":"Получить статус блокировки текущего аккаунта","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/profil/paths/~1api~1account~1block-status/get","routeSlug":"/openapi/profil/paths/~1api~1account~1block-status/get","metadata":{"seo":{"title":"Получить статус блокировки текущего аккаунта","description":"Возвращает статус блокировки текущего авторизованного аккаунта."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить статус блокировки текущего аккаунта","isWebhook":false,"pointer":"/paths/~1api~1account~1block-status/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить статус блокировки текущего аккаунта","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает статус блокировки текущего авторизованного аккаунта."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Для клиента, отдельного мастера и администратора возвращается статус"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"самого аккаунта. Для участника салона возвращается статус владельца салона,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"поскольку блокировка салона хранится у его "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"owner_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/account/block-status","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","401"],"pointer":"/api/account/block-status","href":"profil/paths/~1api~1account~1block-status/get","summary":"Получить статус блокировки текущего аккаунта","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Статус блокировки успешно получен"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AccountBlockStatusResponse","exampleIds":["paths/~1api~1account~1block-status/get/responses/200/content/application~1json/examples/active","paths/~1api~1account~1block-status/get/responses/200/content/application~1json/examples/blocked"]}},"schemaId":"components/schemas/AccountBlockStatusResponse","exampleIds":["paths/~1api~1account~1block-status/get/responses/200/content/application~1json/examples/active","paths/~1api~1account~1block-status/get/responses/200/content/application~1json/examples/blocked"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1account~1block-status/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1account~1block-status/get/responses/401/content/application~1json/examples/unauthorized"]}],"pointer":"/paths/~1api~1account~1block-status/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/AccountBlockStatusResponse","exampleIds":["paths/~1api~1account~1block-status/get/responses/200/content/application~1json/examples/active","paths/~1api~1account~1block-status/get/responses/200/content/application~1json/examples/blocked"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AccountBlockStatusResponse","exampleIds":["paths/~1api~1account~1block-status/get/responses/200/content/application~1json/examples/active","paths/~1api~1account~1block-status/get/responses/200/content/application~1json/examples/blocked"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1account~1block-status/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1account~1block-status/get/responses/401/content/application~1json/examples/unauthorized"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/profil/paths/~1api~1account~1block-status/get"}],"panels":[]}]},"httpPath":"/api/account/block-status"},{"label":"Получить профиль текущего пользователя","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/profil/paths/~1api~1user/get","routeSlug":"/openapi/profil/paths/~1api~1user/get","metadata":{"seo":{"title":"Получить профиль текущего пользователя","description":"Возвращает профиль текущего авторизованного пользователя."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить профиль текущего пользователя","isWebhook":false,"pointer":"/paths/~1api~1user/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить профиль текущего пользователя","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает профиль текущего авторизованного пользователя."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Имена полей в JSON-ответе возвращаются в формате "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"first_second"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/user","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","401"],"pointer":"/api/user","href":"profil/paths/~1api~1user/get","summary":"Получить профиль текущего пользователя","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Профиль успешно получен"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/GetCurrentUserResponse","exampleIds":["paths/~1api~1user/get/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/GetCurrentUserResponse","exampleIds":["paths/~1api~1user/get/responses/200/content/application~1json/examples/ok"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user/get/responses/401/content/application~1json/examples/unauthorized"]}],"pointer":"/paths/~1api~1user/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/GetCurrentUserResponse","exampleIds":["paths/~1api~1user/get/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/GetCurrentUserResponse","exampleIds":["paths/~1api~1user/get/responses/200/content/application~1json/examples/ok"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user/get/responses/401/content/application~1json/examples/unauthorized"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/profil/paths/~1api~1user/get"}],"panels":[]}]},"httpPath":"/api/user"},{"label":"Обновить профиль текущего пользователя","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/profil/paths/~1api~1user/patch","routeSlug":"/openapi/profil/paths/~1api~1user/patch","metadata":{"seo":{"title":"Обновить профиль текущего пользователя","description":"Обновляет профиль текущего авторизованного пользователя."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Обновить профиль текущего пользователя","isWebhook":false,"pointer":"/paths/~1api~1user/patch","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Обновить профиль текущего пользователя","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Обновляет профиль текущего авторизованного пользователя."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Можно передать любое из полей:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"first_name"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"last_name"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"city"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"avatar"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"geolocation"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"category_ids"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Особенности валидации:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"хотя бы одно из полей должно быть заполнено корректно"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"geolocation"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" валиден только если переданы оба поля: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"lat"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"lon"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"если передан "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"city"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", обязательно должна быть передана "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"geolocation"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"geolocation"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" без "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"city"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" разрешена"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"city"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"address"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"geolocation"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" устанавливаются этим эндпоинтом только один раз — когда у пользователя в БД ещё нет геолокации; повторно переданные данные локации игнорируются"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"при передаче "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"city"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"geolocation"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" backend сохраняет выбранные координаты без повторного геокодирования, а "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"address"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" устанавливает равным "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"city"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"address"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" является вычисляемым полем и напрямую в запросе не принимается"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"для "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"avatar"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" проверяется доступ пользователя к файлу и возможность использовать файл как аватар"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"category_ids"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если передан, должен быть массивом существующих ID категорий; пустой массив допустим"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"category_ids"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" у пользователя используется для рекомендаций"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/EditCurrentUserRequest","exampleIds":["paths/~1api~1user/patch/requestBody/content/application~1json/examples/updateName","paths/~1api~1user/patch/requestBody/content/application~1json/examples/updateCity","paths/~1api~1user/patch/requestBody/content/application~1json/examples/updateAvatar","paths/~1api~1user/patch/requestBody/content/application~1json/examples/updateGeo","paths/~1api~1user/patch/requestBody/content/application~1json/examples/updateCategories"]}},"schemaId":"components/schemas/EditCurrentUserRequest","exampleIds":["paths/~1api~1user/patch/requestBody/content/application~1json/examples/updateName","paths/~1api~1user/patch/requestBody/content/application~1json/examples/updateCity","paths/~1api~1user/patch/requestBody/content/application~1json/examples/updateAvatar","paths/~1api~1user/patch/requestBody/content/application~1json/examples/updateGeo","paths/~1api~1user/patch/requestBody/content/application~1json/examples/updateCategories"],"pointer":"/paths/~1api~1user/patch/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PATCH","path":"/api/user","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/EditCurrentUserRequest","exampleIds":["paths/~1api~1user/patch/requestBody/content/application~1json/examples/updateName","paths/~1api~1user/patch/requestBody/content/application~1json/examples/updateCity","paths/~1api~1user/patch/requestBody/content/application~1json/examples/updateAvatar","paths/~1api~1user/patch/requestBody/content/application~1json/examples/updateGeo","paths/~1api~1user/patch/requestBody/content/application~1json/examples/updateCategories"]}},"responseCodes":["200","400","401","403","404","409","422"],"pointer":"/api/user","href":"profil/paths/~1api~1user/patch","summary":"Обновить профиль текущего пользователя","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/EditCurrentUserRequest","exampleIds":["paths/~1api~1user/patch/requestBody/content/application~1json/examples/updateName","paths/~1api~1user/patch/requestBody/content/application~1json/examples/updateCity","paths/~1api~1user/patch/requestBody/content/application~1json/examples/updateAvatar","paths/~1api~1user/patch/requestBody/content/application~1json/examples/updateGeo","paths/~1api~1user/patch/requestBody/content/application~1json/examples/updateCategories"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/EditCurrentUserRequest","exampleIds":["paths/~1api~1user/patch/requestBody/content/application~1json/examples/updateName","paths/~1api~1user/patch/requestBody/content/application~1json/examples/updateCity","paths/~1api~1user/patch/requestBody/content/application~1json/examples/updateAvatar","paths/~1api~1user/patch/requestBody/content/application~1json/examples/updateGeo","paths/~1api~1user/patch/requestBody/content/application~1json/examples/updateCategories"]}},"examples":[{},{},{},{},{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Профиль успешно обработан"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/UpdateCurrentUserResponse","exampleIds":["paths/~1api~1user/patch/responses/200/content/application~1json/examples/changed","paths/~1api~1user/patch/responses/200/content/application~1json/examples/unchanged"]}},"schemaId":"components/schemas/UpdateCurrentUserResponse","exampleIds":["paths/~1api~1user/patch/responses/200/content/application~1json/examples/changed","paths/~1api~1user/patch/responses/200/content/application~1json/examples/unchanged"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело запроса или ни одно поле не прошло валидацию"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user/patch/responses/400/content/application~1json/examples/invalid_body"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user/patch/responses/400/content/application~1json/examples/invalid_body"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user/patch/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user/patch/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Нет доступа к указанному файлу или файл нельзя использовать как аватар"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user/patch/responses/403/content/application~1json/examples/no_file_access","paths/~1api~1user/patch/responses/403/content/application~1json/examples/avatar_not_allowed"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user/patch/responses/403/content/application~1json/examples/no_file_access","paths/~1api~1user/patch/responses/403/content/application~1json/examples/avatar_not_allowed"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Одна или несколько категорий не найдены"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user/patch/responses/404/content/application~1json/examples/category_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user/patch/responses/404/content/application~1json/examples/category_not_found"]},{"code":"409","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Объект был изменён параллельным запросом; клиент должен перечитать актуальное состояние и повторить операцию"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user/patch/responses/409/content/application~1json/examples/object_modified_by_another_thread"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user/patch/responses/409/content/application~1json/examples/object_modified_by_another_thread"]},{"code":"422","description":"Geocoding failed","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user/patch/responses/422/content/application~1json/examples/geocoding_failed"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user/patch/responses/422/content/application~1json/examples/geocoding_failed"]}],"pointer":"/paths/~1api~1user/patch/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/UpdateCurrentUserResponse","exampleIds":["paths/~1api~1user/patch/responses/200/content/application~1json/examples/changed","paths/~1api~1user/patch/responses/200/content/application~1json/examples/unchanged"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/UpdateCurrentUserResponse","exampleIds":["paths/~1api~1user/patch/responses/200/content/application~1json/examples/changed","paths/~1api~1user/patch/responses/200/content/application~1json/examples/unchanged"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user/patch/responses/400/content/application~1json/examples/invalid_body"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user/patch/responses/400/content/application~1json/examples/invalid_body"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user/patch/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user/patch/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user/patch/responses/403/content/application~1json/examples/no_file_access","paths/~1api~1user/patch/responses/403/content/application~1json/examples/avatar_not_allowed"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user/patch/responses/403/content/application~1json/examples/no_file_access","paths/~1api~1user/patch/responses/403/content/application~1json/examples/avatar_not_allowed"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user/patch/responses/404/content/application~1json/examples/category_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user/patch/responses/404/content/application~1json/examples/category_not_found"]}}},{"code":"409","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user/patch/responses/409/content/application~1json/examples/object_modified_by_another_thread"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user/patch/responses/409/content/application~1json/examples/object_modified_by_another_thread"]}}},{"code":"422","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user/patch/responses/422/content/application~1json/examples/geocoding_failed"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user/patch/responses/422/content/application~1json/examples/geocoding_failed"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/profil/paths/~1api~1user/patch"}],"panels":[]}]},"httpPath":"/api/user"},{"label":"Удалить аккаунт текущего пользователя","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/profil/paths/~1api~1user/delete","routeSlug":"/openapi/profil/paths/~1api~1user/delete","metadata":{"seo":{"title":"Удалить аккаунт текущего пользователя","description":"Удаляет аккаунт текущего авторизованного пользователя."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Удалить аккаунт текущего пользователя","isWebhook":false,"pointer":"/paths/~1api~1user/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Удалить аккаунт текущего пользователя","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Удаляет аккаунт текущего авторизованного пользователя."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"После удаления связанные данные пользователя очищаются обработчиками события удаления."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/api/user","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","401"],"pointer":"/api/user","href":"profil/paths/~1api~1user/delete","summary":"Удалить аккаунт текущего пользователя","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Аккаунт пользователя успешно удален"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1user/delete/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1user/delete/responses/200/content/application~1json/examples/ok"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user/delete/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user/delete/responses/401/content/application~1json/examples/unauthorized"]}],"pointer":"/paths/~1api~1user/delete/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1user/delete/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1user/delete/responses/200/content/application~1json/examples/ok"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user/delete/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user/delete/responses/401/content/application~1json/examples/unauthorized"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/profil/paths/~1api~1user/delete"}],"panels":[]}]},"httpPath":"/api/user"},{"label":"Получить адреса клиента","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/profil/paths/~1api~1user~1addresses/get","routeSlug":"/openapi/profil/paths/~1api~1user~1addresses/get","metadata":{"seo":{"title":"Получить адреса клиента","description":"Возвращает все сохранённые адреса текущего клиента."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить адреса клиента","isWebhook":false,"pointer":"/paths/~1api~1user~1addresses/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить адреса клиента","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает все сохранённые адреса текущего клиента."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/user/addresses","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","401","500"],"pointer":"/api/user/addresses","href":"profil/paths/~1api~1user~1addresses/get","summary":"Получить адреса клиента","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Сохранённые адреса текущего клиента получены; список может быть пустым"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/UserAddressListApiResponse","exampleIds":["paths/~1api~1user~1addresses/get/responses/200/content/application~1json/examples/with_addresses","paths/~1api~1user~1addresses/get/responses/200/content/application~1json/examples/empty"]}},"schemaId":"components/schemas/UserAddressListApiResponse","exampleIds":["paths/~1api~1user~1addresses/get/responses/200/content/application~1json/examples/with_addresses","paths/~1api~1user~1addresses/get/responses/200/content/application~1json/examples/empty"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user~1addresses/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user~1addresses/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"500","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Непредвиденная внутренняя ошибка сервера"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user~1addresses/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user~1addresses/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1api~1user~1addresses/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/UserAddressListApiResponse","exampleIds":["paths/~1api~1user~1addresses/get/responses/200/content/application~1json/examples/with_addresses","paths/~1api~1user~1addresses/get/responses/200/content/application~1json/examples/empty"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/UserAddressListApiResponse","exampleIds":["paths/~1api~1user~1addresses/get/responses/200/content/application~1json/examples/with_addresses","paths/~1api~1user~1addresses/get/responses/200/content/application~1json/examples/empty"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user~1addresses/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user~1addresses/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user~1addresses/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user~1addresses/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/profil/paths/~1api~1user~1addresses/get"}],"panels":[]}]},"httpPath":"/api/user/addresses"},{"label":"Добавить адрес клиента","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/profil/paths/~1api~1user~1addresses/post","routeSlug":"/openapi/profil/paths/~1api~1user~1addresses/post","metadata":{"seo":{"title":"Добавить адрес клиента","description":"Создаёт адрес, сразу делает его активным и обновляет city, address, geolocation текущего клиента. Предыдущий активный адрес становится неактивным. Повторно добавить тот же адрес нельзя.Сначала получите fias_id и type города через GET /api/search/places, затем получите адрес и координаты через GET /api/search/addresses. В этот запрос передайте выбранные city, address и geolocation."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Добавить адрес клиента","isWebhook":false,"pointer":"/paths/~1api~1user~1addresses/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Добавить адрес клиента","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Создаёт адрес, сразу делает его активным и обновляет "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"city"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"address"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"geolocation"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" текущего клиента. Предыдущий активный адрес становится неактивным. Повторно добавить тот же адрес нельзя."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Сначала получите "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"fias_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" города через "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET /api/search/places"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", затем получите адрес и координаты через "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET /api/search/addresses"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". В этот запрос передайте выбранные "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"city"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"address"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"geolocation"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/CreateUserAddressRequest"}},"schemaId":"components/schemas/CreateUserAddressRequest","pointer":"/paths/~1api~1user~1addresses/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/user/addresses","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/CreateUserAddressRequest"}},"responseCodes":["201","400","401","403","409","415","500"],"pointer":"/api/user/addresses","href":"profil/paths/~1api~1user~1addresses/post","summary":"Добавить адрес клиента","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/CreateUserAddressRequest","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/CreateUserAddressRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Адрес добавлен, установлен активным и записан в профиль клиента"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/UserAddressApiResponse","exampleIds":["paths/~1api~1user~1addresses/post/responses/201/content/application~1json/example"]}},"schemaId":"components/schemas/UserAddressApiResponse","exampleIds":["paths/~1api~1user~1addresses/post/responses/201/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не заполнен город, адрес или координаты; превышена допустимая длина; координаты вне диапазона либо JSON некорректен"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user~1addresses/post/responses/400/content/application~1json/examples/invalid_city","paths/~1api~1user~1addresses/post/responses/400/content/application~1json/examples/invalid_address","paths/~1api~1user~1addresses/post/responses/400/content/application~1json/examples/invalid_geolocation","paths/~1api~1user~1addresses/post/responses/400/content/application~1json/examples/malformed_json"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user~1addresses/post/responses/400/content/application~1json/examples/invalid_city","paths/~1api~1user~1addresses/post/responses/400/content/application~1json/examples/invalid_address","paths/~1api~1user~1addresses/post/responses/400/content/application~1json/examples/invalid_geolocation","paths/~1api~1user~1addresses/post/responses/400/content/application~1json/examples/malformed_json"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user~1addresses/post/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user~1addresses/post/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Аккаунт пользователя заблокирован; изменяющие операции недоступны"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user~1addresses/post/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user~1addresses/post/responses/403/content/application~1json/example"]},{"code":"409","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"У текущего клиента уже сохранён такой же город и адрес; регистр и лишние пробелы не учитываются"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user~1addresses/post/responses/409/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user~1addresses/post/responses/409/content/application~1json/example"]},{"code":"415","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Тело POST-запроса передано без "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Content-Type: application/json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" или с неподдерживаемым media type"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user~1addresses/post/responses/415/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user~1addresses/post/responses/415/content/application~1json/example"]},{"code":"500","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Непредвиденная внутренняя ошибка сервера"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user~1addresses/post/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user~1addresses/post/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1api~1user~1addresses/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"201","schemaId":"components/schemas/UserAddressApiResponse","exampleIds":["paths/~1api~1user~1addresses/post/responses/201/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/UserAddressApiResponse","exampleIds":["paths/~1api~1user~1addresses/post/responses/201/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user~1addresses/post/responses/400/content/application~1json/examples/invalid_city","paths/~1api~1user~1addresses/post/responses/400/content/application~1json/examples/invalid_address","paths/~1api~1user~1addresses/post/responses/400/content/application~1json/examples/invalid_geolocation","paths/~1api~1user~1addresses/post/responses/400/content/application~1json/examples/malformed_json"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user~1addresses/post/responses/400/content/application~1json/examples/invalid_city","paths/~1api~1user~1addresses/post/responses/400/content/application~1json/examples/invalid_address","paths/~1api~1user~1addresses/post/responses/400/content/application~1json/examples/invalid_geolocation","paths/~1api~1user~1addresses/post/responses/400/content/application~1json/examples/malformed_json"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user~1addresses/post/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user~1addresses/post/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user~1addresses/post/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user~1addresses/post/responses/403/content/application~1json/example"]}}},{"code":"409","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user~1addresses/post/responses/409/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user~1addresses/post/responses/409/content/application~1json/example"]}}},{"code":"415","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user~1addresses/post/responses/415/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user~1addresses/post/responses/415/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user~1addresses/post/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user~1addresses/post/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/profil/paths/~1api~1user~1addresses/post"}],"panels":[]}]},"httpPath":"/api/user/addresses"},{"label":"Удалить адрес клиента","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/profil/paths/~1api~1user~1addresses~1{addressid}/delete","routeSlug":"/openapi/profil/paths/~1api~1user~1addresses~1{addressid}/delete","metadata":{"seo":{"title":"Удалить адрес клиента","description":"Удаляет адрес текущего клиента. Активный адрес удалить нельзя."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Удалить адрес клиента","isWebhook":false,"pointer":"/paths/~1api~1user~1addresses~1{addressId}/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Удалить адрес клиента","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Удаляет адрес текущего клиента. Активный адрес удалить нельзя."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"addressId","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID адреса текущего клиента."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1user~1addresses~1{addressId}/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/api/user/addresses/{addressId}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"addressId","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403","404","409","500"],"pointer":"/api/user/addresses/{addressId}","href":"profil/paths/~1api~1user~1addresses~1{addressid}/delete","summary":"Удалить адрес клиента","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Неактивный адрес текущего клиента успешно удалён"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/DeleteUserAddressApiResponse","exampleIds":["paths/~1api~1user~1addresses~1{addressId}/delete/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/DeleteUserAddressApiResponse","exampleIds":["paths/~1api~1user~1addresses~1{addressId}/delete/responses/200/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"addressId"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" не является положительным целым числом"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user~1addresses~1{addressId}/delete/responses/400/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user~1addresses~1{addressId}/delete/responses/400/content/application~1json/example"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user~1addresses~1{addressId}/delete/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user~1addresses~1{addressId}/delete/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Аккаунт пользователя заблокирован; изменяющие операции недоступны"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user~1addresses~1{addressId}/delete/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user~1addresses~1{addressId}/delete/responses/403/content/application~1json/example"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Адрес не существует либо принадлежит другому пользователю"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user~1addresses~1{addressId}/delete/responses/404/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user~1addresses~1{addressId}/delete/responses/404/content/application~1json/example"]},{"code":"409","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Выбранный адрес активен; перед удалением необходимо активировать другой адрес"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user~1addresses~1{addressId}/delete/responses/409/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user~1addresses~1{addressId}/delete/responses/409/content/application~1json/example"]},{"code":"500","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Непредвиденная внутренняя ошибка сервера"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user~1addresses~1{addressId}/delete/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user~1addresses~1{addressId}/delete/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1api~1user~1addresses~1{addressId}/delete/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/DeleteUserAddressApiResponse","exampleIds":["paths/~1api~1user~1addresses~1{addressId}/delete/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/DeleteUserAddressApiResponse","exampleIds":["paths/~1api~1user~1addresses~1{addressId}/delete/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user~1addresses~1{addressId}/delete/responses/400/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user~1addresses~1{addressId}/delete/responses/400/content/application~1json/example"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user~1addresses~1{addressId}/delete/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user~1addresses~1{addressId}/delete/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user~1addresses~1{addressId}/delete/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user~1addresses~1{addressId}/delete/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user~1addresses~1{addressId}/delete/responses/404/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user~1addresses~1{addressId}/delete/responses/404/content/application~1json/example"]}}},{"code":"409","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user~1addresses~1{addressId}/delete/responses/409/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user~1addresses~1{addressId}/delete/responses/409/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user~1addresses~1{addressId}/delete/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user~1addresses~1{addressId}/delete/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/profil/paths/~1api~1user~1addresses~1{addressid}/delete"}],"panels":[]}]},"httpPath":"/api/user/addresses/{addressId}"},{"label":"Установить активный адрес","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/profil/paths/~1api~1user~1addresses~1{addressid}~1active/patch","routeSlug":"/openapi/profil/paths/~1api~1user~1addresses~1{addressid}~1active/patch","metadata":{"seo":{"title":"Установить активный адрес","description":"Делает выбранный адрес активным и обновляет город, адрес и геолокацию клиента. Предыдущий активный адрес становится неактивным."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Установить активный адрес","isWebhook":false,"pointer":"/paths/~1api~1user~1addresses~1{addressId}~1active/patch","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Установить активный адрес","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Делает выбранный адрес активным и обновляет город, адрес и геолокацию клиента. Предыдущий активный адрес становится неактивным."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"addressId","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID адреса текущего клиента."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1user~1addresses~1{addressId}~1active/patch/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PATCH","path":"/api/user/addresses/{addressId}/active","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"addressId","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403","404","500"],"pointer":"/api/user/addresses/{addressId}/active","href":"profil/paths/~1api~1user~1addresses~1{addressid}~1active/patch","summary":"Установить активный адрес","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Адрес установлен активным; город, адрес и геолокация профиля клиента обновлены"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/UserAddressApiResponse","exampleIds":["paths/~1api~1user~1addresses~1{addressId}~1active/patch/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/UserAddressApiResponse","exampleIds":["paths/~1api~1user~1addresses~1{addressId}~1active/patch/responses/200/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"addressId"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" не является положительным целым числом"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user~1addresses~1{addressId}~1active/patch/responses/400/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user~1addresses~1{addressId}~1active/patch/responses/400/content/application~1json/example"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user~1addresses~1{addressId}~1active/patch/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user~1addresses~1{addressId}~1active/patch/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Аккаунт пользователя заблокирован; изменяющие операции недоступны"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user~1addresses~1{addressId}~1active/patch/responses/403/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user~1addresses~1{addressId}~1active/patch/responses/403/content/application~1json/example"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Адрес не существует либо принадлежит другому пользователю"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user~1addresses~1{addressId}~1active/patch/responses/404/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user~1addresses~1{addressId}~1active/patch/responses/404/content/application~1json/example"]},{"code":"500","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Непредвиденная внутренняя ошибка сервера"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user~1addresses~1{addressId}~1active/patch/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user~1addresses~1{addressId}~1active/patch/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1api~1user~1addresses~1{addressId}~1active/patch/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/UserAddressApiResponse","exampleIds":["paths/~1api~1user~1addresses~1{addressId}~1active/patch/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/UserAddressApiResponse","exampleIds":["paths/~1api~1user~1addresses~1{addressId}~1active/patch/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user~1addresses~1{addressId}~1active/patch/responses/400/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user~1addresses~1{addressId}~1active/patch/responses/400/content/application~1json/example"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user~1addresses~1{addressId}~1active/patch/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user~1addresses~1{addressId}~1active/patch/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user~1addresses~1{addressId}~1active/patch/responses/403/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user~1addresses~1{addressId}~1active/patch/responses/403/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user~1addresses~1{addressId}~1active/patch/responses/404/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user~1addresses~1{addressId}~1active/patch/responses/404/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user~1addresses~1{addressId}~1active/patch/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1user~1addresses~1{addressId}~1active/patch/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/profil/paths/~1api~1user~1addresses~1{addressid}~1active/patch"}],"panels":[]}]},"httpPath":"/api/user/addresses/{addressId}/active"},{"label":"Получить профиль текущего мастера","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/profil/paths/~1api~1master/get","routeSlug":"/openapi/profil/paths/~1api~1master/get","metadata":{"seo":{"title":"Получить профиль текущего мастера","description":"Возвращает профиль текущего авторизованного мастера."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить профиль текущего мастера","isWebhook":false,"pointer":"/paths/~1api~1master/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить профиль текущего мастера","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает профиль текущего авторизованного мастера."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"В ответ включаются:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"поля профиля мастера"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"пользовательские поля "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"phone"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"email"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"first_name"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"last_name"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"city"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"avatar"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"geolocation"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"category_ids"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"поле "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"min_booking_lead_time_minutes"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" с минимальным временем до записи в минутах"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"поле "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"break_after_service_min"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" с длительностью перерыва после услуги в минутах"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Значение "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"min_booking_lead_time_minutes"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" изменяется отдельным эндпоинтом "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"POST /api/calendar/min-booking-lead-time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Значение "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"break_after_service_min"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" изменяется отдельным эндпоинтом "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"POST /api/calendar/break-after-reccord"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/master","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","401"],"pointer":"/api/master","href":"profil/paths/~1api~1master/get","summary":"Получить профиль текущего мастера","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Профиль мастера успешно получен"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/GetCurrentMasterResponse","exampleIds":["paths/~1api~1master/get/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/GetCurrentMasterResponse","exampleIds":["paths/~1api~1master/get/responses/200/content/application~1json/examples/ok"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1master/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1master/get/responses/401/content/application~1json/examples/unauthorized"]}],"pointer":"/paths/~1api~1master/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/GetCurrentMasterResponse","exampleIds":["paths/~1api~1master/get/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/GetCurrentMasterResponse","exampleIds":["paths/~1api~1master/get/responses/200/content/application~1json/examples/ok"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1master/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1master/get/responses/401/content/application~1json/examples/unauthorized"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/profil/paths/~1api~1master/get"}],"panels":[]}]},"httpPath":"/api/master"},{"label":"Обновить профиль текущего мастера","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/profil/paths/~1api~1master/patch","routeSlug":"/openapi/profil/paths/~1api~1master/patch","metadata":{"seo":{"title":"Обновить профиль текущего мастера","description":"Частично обновляет профиль текущего мастера."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Обновить профиль текущего мастера","isWebhook":false,"pointer":"/paths/~1api~1master/patch","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Обновить профиль текущего мастера","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Частично обновляет профиль текущего мастера."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Можно передавать как пользовательские, так и мастерские поля."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Правила валидации:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"валидным считается запрос, в котором корректно заполнено хотя бы одно поле"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"first_name"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"last_name"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если переданы, не должны быть пустыми и не должны быть длиннее 100 символов"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"city"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если передан, не должен быть пустым и не должен быть длиннее 30 символов"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"если передан "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"city"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", обязательно должна быть передана "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"geolocation"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"geolocation"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" без "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"city"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" разрешена"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"avatar"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если передан, должен быть положительным ID файла"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"avatar"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" должен принадлежать текущему пользователю и быть допустимым для установки как аватар"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"geolocation"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если передана, должна содержать "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"lat"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" в диапазоне "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"[-90, 90]"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"lon"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" в диапазоне "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"[-180, 180]"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"category_ids"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если передан, должен быть массивом существующих ID категорий; пустой массив допустим"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"category_ids"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" у мастера описывает список оказываемых им услуг"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"example_work_images"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если передан, должен содержать от 1 до 10 положительных ID файлов"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"все файлы из "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"example_work_images"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" должны принадлежать текущему пользователю и иметь purpose "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CARD"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"experience_years"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если передан, должен быть в диапазоне от 0 до 60"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"address"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если передан, не должен быть пустым и не должен быть длиннее 1000 символов"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"если переданы "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"address"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"geolocation"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", backend сохраняет оба значения напрямую без повторного геокодирования"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"если передан "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"address"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" без "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"geolocation"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", backend геокодирует адрес; при неуспешном геокодировании возвращается "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"422 geocoding_failed"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"если передана "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"geolocation"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" без "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"address"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и без "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"city"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", backend выполняет обратное геокодирование и сохраняет найденный адрес"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"если переданы "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"city"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"geolocation"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" без "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"address"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", backend сохраняет координаты напрямую, а "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"address"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" устанавливает равным "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"city"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"description"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если передан, не должен быть пустым и не должен быть длиннее 1000 символов"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"interior_description"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если передан, не должен быть пустым и не должен быть длиннее 1000 символов"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"interior_images"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если передан, должен содержать от 1 до 10 положительных ID файлов"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"все файлы из "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"interior_images"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" должны принадлежать текущему пользователю и иметь purpose "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CARD"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"advantages"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если передан, должен содержать от 1 до 5 непустых строк длиной до 50 символов каждая"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"service_locations"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если передан, должен содержать от 1 до 3 объектов с уникальными "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"service_location"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; для каждого объекта обязателен "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"address"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", необязательный "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"geolocation"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" геокодируется по адресу, для "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"IN_SALON"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" обязателен "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"salon_name"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", для "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CLIENT_PLACE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" обязателен "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"radius_km"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" из "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"[1, 5, 10, 20]"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/EditCurrentMasterRequest","exampleIds":["paths/~1api~1master/patch/requestBody/content/application~1json/examples/updateContacts","paths/~1api~1master/patch/requestBody/content/application~1json/examples/updateProfessional","paths/~1api~1master/patch/requestBody/content/application~1json/examples/updateMediaAndCategories"]}},"schemaId":"components/schemas/EditCurrentMasterRequest","exampleIds":["paths/~1api~1master/patch/requestBody/content/application~1json/examples/updateContacts","paths/~1api~1master/patch/requestBody/content/application~1json/examples/updateProfessional","paths/~1api~1master/patch/requestBody/content/application~1json/examples/updateMediaAndCategories"],"pointer":"/paths/~1api~1master/patch/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PATCH","path":"/api/master","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/EditCurrentMasterRequest","exampleIds":["paths/~1api~1master/patch/requestBody/content/application~1json/examples/updateContacts","paths/~1api~1master/patch/requestBody/content/application~1json/examples/updateProfessional","paths/~1api~1master/patch/requestBody/content/application~1json/examples/updateMediaAndCategories"]}},"responseCodes":["200","400","401","403","404","409","422"],"pointer":"/api/master","href":"profil/paths/~1api~1master/patch","summary":"Обновить профиль текущего мастера","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/EditCurrentMasterRequest","exampleIds":["paths/~1api~1master/patch/requestBody/content/application~1json/examples/updateContacts","paths/~1api~1master/patch/requestBody/content/application~1json/examples/updateProfessional","paths/~1api~1master/patch/requestBody/content/application~1json/examples/updateMediaAndCategories"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/EditCurrentMasterRequest","exampleIds":["paths/~1api~1master/patch/requestBody/content/application~1json/examples/updateContacts","paths/~1api~1master/patch/requestBody/content/application~1json/examples/updateProfessional","paths/~1api~1master/patch/requestBody/content/application~1json/examples/updateMediaAndCategories"]}},"examples":[{},{},{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Профиль мастера успешно обработан"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/UpdateCurrentMasterResponse","exampleIds":["paths/~1api~1master/patch/responses/200/content/application~1json/examples/changed","paths/~1api~1master/patch/responses/200/content/application~1json/examples/unchanged"]}},"schemaId":"components/schemas/UpdateCurrentMasterResponse","exampleIds":["paths/~1api~1master/patch/responses/200/content/application~1json/examples/changed","paths/~1api~1master/patch/responses/200/content/application~1json/examples/unchanged"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело запроса или ни одно поле не прошло валидацию"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1master/patch/responses/400/content/application~1json/examples/invalid_body"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1master/patch/responses/400/content/application~1json/examples/invalid_body"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1master/patch/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1master/patch/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Нет доступа к указанным файлам или файлы нельзя использовать с выбранным назначением"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1master/patch/responses/403/content/application~1json/examples/no_file_access","paths/~1api~1master/patch/responses/403/content/application~1json/examples/avatar_not_allowed","paths/~1api~1master/patch/responses/403/content/application~1json/examples/cards_only"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1master/patch/responses/403/content/application~1json/examples/no_file_access","paths/~1api~1master/patch/responses/403/content/application~1json/examples/avatar_not_allowed","paths/~1api~1master/patch/responses/403/content/application~1json/examples/cards_only"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Одна или несколько категорий не найдены"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1master/patch/responses/404/content/application~1json/examples/category_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1master/patch/responses/404/content/application~1json/examples/category_not_found"]},{"code":"409","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Объект был изменён параллельным запросом; клиент должен перечитать актуальное состояние и повторить операцию"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1master/patch/responses/409/content/application~1json/examples/object_modified_by_another_thread"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1master/patch/responses/409/content/application~1json/examples/object_modified_by_another_thread"]},{"code":"422","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Адрес мастера не удалось геокодировать"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1master/patch/responses/422/content/application~1json/examples/geocoding_failed"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1master/patch/responses/422/content/application~1json/examples/geocoding_failed"]}],"pointer":"/paths/~1api~1master/patch/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/UpdateCurrentMasterResponse","exampleIds":["paths/~1api~1master/patch/responses/200/content/application~1json/examples/changed","paths/~1api~1master/patch/responses/200/content/application~1json/examples/unchanged"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/UpdateCurrentMasterResponse","exampleIds":["paths/~1api~1master/patch/responses/200/content/application~1json/examples/changed","paths/~1api~1master/patch/responses/200/content/application~1json/examples/unchanged"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1master/patch/responses/400/content/application~1json/examples/invalid_body"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1master/patch/responses/400/content/application~1json/examples/invalid_body"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1master/patch/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1master/patch/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1master/patch/responses/403/content/application~1json/examples/no_file_access","paths/~1api~1master/patch/responses/403/content/application~1json/examples/avatar_not_allowed","paths/~1api~1master/patch/responses/403/content/application~1json/examples/cards_only"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1master/patch/responses/403/content/application~1json/examples/no_file_access","paths/~1api~1master/patch/responses/403/content/application~1json/examples/avatar_not_allowed","paths/~1api~1master/patch/responses/403/content/application~1json/examples/cards_only"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1master/patch/responses/404/content/application~1json/examples/category_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1master/patch/responses/404/content/application~1json/examples/category_not_found"]}}},{"code":"409","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1master/patch/responses/409/content/application~1json/examples/object_modified_by_another_thread"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1master/patch/responses/409/content/application~1json/examples/object_modified_by_another_thread"]}}},{"code":"422","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1master/patch/responses/422/content/application~1json/examples/geocoding_failed"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1master/patch/responses/422/content/application~1json/examples/geocoding_failed"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/profil/paths/~1api~1master/patch"}],"panels":[]}]},"httpPath":"/api/master"},{"label":"Удалить аккаунт текущего мастера","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/profil/paths/~1api~1master/delete","routeSlug":"/openapi/profil/paths/~1api~1master/delete","metadata":{"seo":{"title":"Удалить аккаунт текущего мастера","description":"Обезличивает аккаунт текущего индивидуального мастера. Мастер салонане может удалить себя через этот endpoint."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Удалить аккаунт текущего мастера","isWebhook":false,"pointer":"/paths/~1api~1master/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Удалить аккаунт текущего мастера","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Обезличивает аккаунт текущего индивидуального мастера. Мастер салона"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"не может удалить себя через этот endpoint."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Удаление блокируется только при наличии записи в статусе "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"BOOKED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/api/master","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","401","403","409"],"pointer":"/api/master","href":"profil/paths/~1api~1master/delete","summary":"Удалить аккаунт текущего мастера","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Аккаунт мастера успешно удален"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1master/delete/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1master/delete/responses/200/content/application~1json/examples/ok"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1master/delete/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1master/delete/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1master/delete/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1master/delete/responses/403/content/application~1json/examples/forbidden"]},{"code":"409","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"У мастера остались записи в статусе BOOKED"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1master/delete/responses/409/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1master/delete/responses/409/content/application~1json/example"]}],"pointer":"/paths/~1api~1master/delete/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1master/delete/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1master/delete/responses/200/content/application~1json/examples/ok"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1master/delete/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1master/delete/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1master/delete/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1master/delete/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"409","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1master/delete/responses/409/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1master/delete/responses/409/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/profil/paths/~1api~1master/delete"}],"panels":[]}]},"httpPath":"/api/master"},{"label":"Получить подсказки преимуществ мастера","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/profil/paths/~1api~1master~1advantages~1suggestions/get","routeSlug":"/openapi/profil/paths/~1api~1master~1advantages~1suggestions/get","metadata":{"seo":{"title":"Получить подсказки преимуществ мастера","description":"Возвращает список строк с подсказками преимуществ для заполнения профиля мастера."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить подсказки преимуществ мастера","isWebhook":false,"pointer":"/paths/~1api~1master~1advantages~1suggestions/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить подсказки преимуществ мастера","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает список строк с подсказками преимуществ для заполнения профиля мастера."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Правила поиска:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"query"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" необязателен"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"query"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" обрезается по краям"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"если "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"query"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" пустой или не передан, возвращаются первые преимущества по "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"title ASC"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"если "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"query"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" передан, возвращаются преимущества, где "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"title"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" содержит "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"query"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"поиск регистронезависимый"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"limit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" необязателен, значение по умолчанию "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"5"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"limit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" безопасно ограничивается диапазоном от "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"1"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" до "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"20"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"query","in":"query","schemaId":"schema_127","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Строка поиска по названию преимущества."},"children":[]}]}]}],"example":"без"},{"name":"limit","in":"query","schemaId":"schema_131","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Максимальное количество подсказок. Сервер ограничивает значение диапазоном от 1 до 20."},"children":[]}]}]}],"example":5}],"pointer":"/paths/~1api~1master~1advantages~1suggestions/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/master/advantages/suggestions","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[{"name":"query","in":"query","required":false,"example":"без","schemaId":"schema_127"},{"name":"limit","in":"query","required":false,"example":5,"schemaId":"schema_131"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","401"],"pointer":"/api/master/advantages/suggestions","href":"profil/paths/~1api~1master~1advantages~1suggestions/get","summary":"Получить подсказки преимуществ мастера","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Подсказки преимуществ успешно получены"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdvantageSuggestionsApiResponse","exampleIds":["paths/~1api~1master~1advantages~1suggestions/get/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/AdvantageSuggestionsApiResponse","exampleIds":["paths/~1api~1master~1advantages~1suggestions/get/responses/200/content/application~1json/examples/ok"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1master~1advantages~1suggestions/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1master~1advantages~1suggestions/get/responses/401/content/application~1json/examples/unauthorized"]}],"pointer":"/paths/~1api~1master~1advantages~1suggestions/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/AdvantageSuggestionsApiResponse","exampleIds":["paths/~1api~1master~1advantages~1suggestions/get/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AdvantageSuggestionsApiResponse","exampleIds":["paths/~1api~1master~1advantages~1suggestions/get/responses/200/content/application~1json/examples/ok"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1master~1advantages~1suggestions/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1master~1advantages~1suggestions/get/responses/401/content/application~1json/examples/unauthorized"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/profil/paths/~1api~1master~1advantages~1suggestions/get"}],"panels":[]}]},"httpPath":"/api/master/advantages/suggestions"},{"label":"Получить публичный профиль мастера по id","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/profil/paths/~1api~1master~1{id}/get","routeSlug":"/openapi/profil/paths/~1api~1master~1{id}/get","metadata":{"seo":{"title":"Получить публичный профиль мастера по id","description":"Возвращает публичный профиль мастера по переданному идентификатору."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить публичный профиль мастера по id","isWebhook":false,"pointer":"/paths/~1api~1master~1{id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить публичный профиль мастера по id","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает публичный профиль мастера по переданному идентификатору."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1master~1{id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/master/{id}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","401","404"],"pointer":"/api/master/{id}","href":"profil/paths/~1api~1master~1{id}/get","summary":"Получить публичный профиль мастера по id","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Профиль мастера успешно получен"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/GetMasterProfileResponse","exampleIds":["paths/~1api~1master~1{id}/get/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/GetMasterProfileResponse","exampleIds":["paths/~1api~1master~1{id}/get/responses/200/content/application~1json/examples/ok"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1master~1{id}/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1master~1{id}/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Мастер не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1master~1{id}/get/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1master~1{id}/get/responses/404/content/application~1json/examples/not_found"]}],"pointer":"/paths/~1api~1master~1{id}/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/GetMasterProfileResponse","exampleIds":["paths/~1api~1master~1{id}/get/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/GetMasterProfileResponse","exampleIds":["paths/~1api~1master~1{id}/get/responses/200/content/application~1json/examples/ok"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1master~1{id}/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1master~1{id}/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1master~1{id}/get/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1master~1{id}/get/responses/404/content/application~1json/examples/not_found"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/profil/paths/~1api~1master~1{id}/get"}],"panels":[]}]},"httpPath":"/api/master/{id}"}],"content":{"contentType":"group","meta":{"name":"Профиль"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Профиль","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Получение и редактирование профиля текущего пользователя и мастера."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/api/account/block-status","summary":"Получить статус блокировки текущего аккаунта","prefix":{"name":"get","color":"get"},"badges":[],"link":"/profil/paths/~1api~1account~1block-status/get","deprecated":false},{"title":"/api/user","summary":"Получить профиль текущего пользователя","prefix":{"name":"get","color":"get"},"badges":[],"link":"/profil/paths/~1api~1user/get","deprecated":false},{"title":"/api/user","summary":"Обновить профиль текущего пользователя","prefix":{"name":"patch","color":"patch"},"badges":[],"link":"/profil/paths/~1api~1user/patch","deprecated":false},{"title":"/api/user","summary":"Удалить аккаунт текущего пользователя","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/profil/paths/~1api~1user/delete","deprecated":false},{"title":"/api/user/addresses","summary":"Получить адреса клиента","prefix":{"name":"get","color":"get"},"badges":[],"link":"/profil/paths/~1api~1user~1addresses/get","deprecated":false},{"title":"/api/user/addresses","summary":"Добавить адрес клиента","prefix":{"name":"post","color":"post"},"badges":[],"link":"/profil/paths/~1api~1user~1addresses/post","deprecated":false},{"title":"/api/user/addresses/{addressId}","summary":"Удалить адрес клиента","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/profil/paths/~1api~1user~1addresses~1{addressid}/delete","deprecated":false},{"title":"/api/user/addresses/{addressId}/active","summary":"Установить активный адрес","prefix":{"name":"patch","color":"patch"},"badges":[],"link":"/profil/paths/~1api~1user~1addresses~1{addressid}~1active/patch","deprecated":false},{"title":"/api/master","summary":"Получить профиль текущего мастера","prefix":{"name":"get","color":"get"},"badges":[],"link":"/profil/paths/~1api~1master/get","deprecated":false},{"title":"/api/master","summary":"Обновить профиль текущего мастера","prefix":{"name":"patch","color":"patch"},"badges":[],"link":"/profil/paths/~1api~1master/patch","deprecated":false},{"title":"/api/master","summary":"Удалить аккаунт текущего мастера","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/profil/paths/~1api~1master/delete","deprecated":false},{"title":"/api/master/advantages/suggestions","summary":"Получить подсказки преимуществ мастера","prefix":{"name":"get","color":"get"},"badges":[],"link":"/profil/paths/~1api~1master~1advantages~1suggestions/get","deprecated":false},{"title":"/api/master/{id}","summary":"Получить публичный профиль мастера по id","prefix":{"name":"get","color":"get"},"badges":[],"link":"/profil/paths/~1api~1master~1{id}/get","deprecated":false}]}]}]}]}},{"type":"group","label":"Салон","link":"/openapi/salon","routeSlug":"/openapi/salon","items":[{"label":"Получить салон","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/salon/paths/~1api~1salon~1{id_salon}/get","routeSlug":"/openapi/salon/paths/~1api~1salon~1{id_salon}/get","metadata":{"seo":{"title":"Получить салон","description":"Возвращает публичные данные салона по ID."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить салон","isWebhook":false,"pointer":"/paths/~1api~1salon~1{id_salon}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить салон","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает публичные данные салона по ID."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id_salon"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" должен быть положительным ID существующего салона"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id_salon","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"salons.id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true,"example":15}],"pointer":"/paths/~1api~1salon~1{id_salon}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/salon/{id_salon}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"id_salon","in":"path","required":true,"example":15,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","404"],"pointer":"/api/salon/{id_salon}","href":"salon/paths/~1api~1salon~1{id_salon}/get","summary":"Получить салон","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Салон успешно получен"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/GetSalonResponse","exampleIds":["paths/~1api~1salon~1{id_salon}/get/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/GetSalonResponse","exampleIds":["paths/~1api~1salon~1{id_salon}/get/responses/200/content/application~1json/examples/ok"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректный ID салона"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1{id_salon}/get/responses/400/content/application~1json/examples/invalid_id"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1{id_salon}/get/responses/400/content/application~1json/examples/invalid_id"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1{id_salon}/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1{id_salon}/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Салон не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1{id_salon}/get/responses/404/content/application~1json/examples/salon_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1{id_salon}/get/responses/404/content/application~1json/examples/salon_not_found"]}],"pointer":"/paths/~1api~1salon~1{id_salon}/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/GetSalonResponse","exampleIds":["paths/~1api~1salon~1{id_salon}/get/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/GetSalonResponse","exampleIds":["paths/~1api~1salon~1{id_salon}/get/responses/200/content/application~1json/examples/ok"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1{id_salon}/get/responses/400/content/application~1json/examples/invalid_id"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1{id_salon}/get/responses/400/content/application~1json/examples/invalid_id"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1{id_salon}/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1{id_salon}/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1{id_salon}/get/responses/404/content/application~1json/examples/salon_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1{id_salon}/get/responses/404/content/application~1json/examples/salon_not_found"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/salon/paths/~1api~1salon~1{id_salon}/get"}],"panels":[]}]},"httpPath":"/api/salon/{id_salon}"},{"label":"Получить профиль текущего салона","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/salon/paths/~1api~1salon/get","routeSlug":"/openapi/salon/paths/~1api~1salon/get","metadata":{"seo":{"title":"Получить профиль текущего салона","description":"Возвращает профиль салона, привязанного к текущему авторизованному пользователю."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить профиль текущего салона","isWebhook":false,"pointer":"/paths/~1api~1salon/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить профиль текущего салона","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает профиль салона, привязанного к текущему авторизованному пользователю."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/salon","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","401","403","404"],"pointer":"/api/salon","href":"salon/paths/~1api~1salon/get","summary":"Получить профиль текущего салона","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Профиль салона успешно получен"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/GetSalonResponse"}},"schemaId":"components/schemas/GetSalonResponse"},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Пользователь не является участником салона"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Салон не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"}],"pointer":"/paths/~1api~1salon/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/GetSalonResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/GetSalonResponse"}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/salon/paths/~1api~1salon/get"}],"panels":[]}]},"httpPath":"/api/salon"},{"label":"Удалить аккаунт салона и всех работников","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/salon/paths/~1api~1salon/delete","routeSlug":"/openapi/salon/paths/~1api~1salon/delete","metadata":{"seo":{"title":"Удалить аккаунт салона и всех работников","description":"Доступно только владельцу текущего активного салона. Операция атомарнообезличивает владельца, всех администраторов и мастеров, удаляет услуги,расписание, публичные данные и обычные вложения переписки. Завершённые иотменённые записи, отзывы, жалобы и текст деловой переписки сохраняютсяобезличенно. При наличии хотя бы одной записи BOOKED удаление блокируется."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Удалить аккаунт салона и всех работников","isWebhook":false,"pointer":"/paths/~1api~1salon/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Удалить аккаунт салона и всех работников","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступно только владельцу текущего активного салона. Операция атомарно"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"обезличивает владельца, всех администраторов и мастеров, удаляет услуги,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"расписание, публичные данные и обычные вложения переписки. Завершённые и"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"отменённые записи, отзывы, жалобы и текст деловой переписки сохраняются"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"обезличенно. При наличии хотя бы одной записи BOOKED удаление блокируется."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/api/salon","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","401","403","404","409"],"pointer":"/api/salon","href":"salon/paths/~1api~1salon/delete","summary":"Удалить аккаунт салона и всех работников","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Салон и все его работники успешно удалены"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SuccessNullResponse"}},"schemaId":"components/schemas/SuccessNullResponse","headers":{"Set-Cookie":{"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Истёкшие JWT и RT cookies"},"children":[]}]}]}],"schema":{"type":"string"}}},"headerSchemaId":"schema_132"},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon/delete/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon/delete/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Текущий пользователь не является владельцем салона"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Салон владельца не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"},{"code":"409","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"У салона или работника есть запись BOOKED"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon/delete/responses/409/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon/delete/responses/409/content/application~1json/example"]}],"pointer":"/paths/~1api~1salon/delete/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/SuccessNullResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SuccessNullResponse"}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon/delete/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon/delete/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}},{"code":"409","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon/delete/responses/409/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon/delete/responses/409/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/salon/paths/~1api~1salon/delete"}],"panels":[]}]},"httpPath":"/api/salon"},{"label":"Заполнить или изменить салон","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/salon/paths/~1api~1salon/patch","routeSlug":"/openapi/salon/paths/~1api~1salon/patch","metadata":{"seo":{"title":"Заполнить или изменить салон","description":"Частично заполняет или изменяет салон текущего пользователя."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Заполнить или изменить салон","isWebhook":false,"pointer":"/paths/~1api~1salon/patch","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Заполнить или изменить салон","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Частично заполняет или изменяет салон текущего пользователя."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Салон определяется backend по текущему JWT-пользователю."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Если переданные значения совпадают с уже сохраненными, backend возвращает"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"changed = false"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и сообщение "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"No changes were made to the salon"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Правила валидации:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"должен быть заполнен хотя бы один корректный field"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"name"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если передан, не должен быть пустым и не должен быть длиннее 100 символов"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"cover_photo_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если передан, должен быть положительным ID файла"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"cover_photo_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" должен принадлежать текущему пользователю и иметь purpose "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CARD"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"city"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если передан, не должен быть пустым и не должен быть длиннее 30 символов"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"если передан "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"city"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", обязательно должна быть передана "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"geolocation"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"geolocation"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" без "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"city"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" разрешена"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"address"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если передан, не должен быть пустым и не должен быть длиннее 1000 символов"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"geolocation"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если передан, должен содержать "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"lat"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"lon"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"geolocation.lat"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" должен быть в диапазоне "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"[-90, 90]"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"geolocation.lon"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - в диапазоне "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"[-180, 180]"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"если переданы "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"address"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"geolocation"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", backend сохраняет оба значения напрямую без повторного геокодирования"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"если передан "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"address"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" без "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"geolocation"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", backend геокодирует адрес; при неуспешном геокодировании возвращается "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"422 geocoding_failed"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"если передана "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"geolocation"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" без "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"address"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и без "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"city"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", backend выполняет обратное геокодирование и сохраняет найденный адрес"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"если переданы "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"city"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"geolocation"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" без "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"address"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", backend сохраняет координаты напрямую, а "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"address"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" устанавливает равным "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"city"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"contact_phone"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если передан, должен быть валидным телефоном и не должен быть длиннее 32 символов"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"description"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если передан, не должен быть пустым и не должен быть длиннее 1000 символов"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"interior_description"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если передан, не должен быть пустым и не должен быть длиннее 1000 символов"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"category_ids"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если передан, должен быть массивом уникальных положительных ID существующих категорий"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"advantages"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если передан, должен содержать уникальные непустые строки, не больше 5 элементов, каждый элемент не длиннее 50 символов"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"interior_images"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если передан, должен содержать уникальные положительные ID файлов и не больше 10 элементов"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"все файлы из "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"interior_images"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" должны принадлежать текущему пользователю и иметь purpose "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CARD"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"amenities"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если передан, должен содержать уникальные значения enum и не больше 4 элементов"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"working_days"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если передан, должен содержать ровно 7 элементов от "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"MONDAY"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" до "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SUNDAY"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" по порядку"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"для рабочего дня "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"working = true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" обязательны "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"start_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"end_time"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"для выходного дня "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"working = false"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"start_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"end_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" должны быть "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"end_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" должен быть позже "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"start_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", длительность рабочего интервала не меньше 30 минут"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"текущий пользователь должен быть участником салона"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/EditSalonRequest","exampleIds":["paths/~1api~1salon/patch/requestBody/content/application~1json/examples/full","paths/~1api~1salon/patch/requestBody/content/application~1json/examples/partial"]}},"schemaId":"components/schemas/EditSalonRequest","exampleIds":["paths/~1api~1salon/patch/requestBody/content/application~1json/examples/full","paths/~1api~1salon/patch/requestBody/content/application~1json/examples/partial"],"pointer":"/paths/~1api~1salon/patch/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PATCH","path":"/api/salon","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/EditSalonRequest","exampleIds":["paths/~1api~1salon/patch/requestBody/content/application~1json/examples/full","paths/~1api~1salon/patch/requestBody/content/application~1json/examples/partial"]}},"responseCodes":["200","400","401","403","404","409"],"pointer":"/api/salon","href":"salon/paths/~1api~1salon/patch","summary":"Заполнить или изменить салон","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/EditSalonRequest","exampleIds":["paths/~1api~1salon/patch/requestBody/content/application~1json/examples/full","paths/~1api~1salon/patch/requestBody/content/application~1json/examples/partial"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/EditSalonRequest","exampleIds":["paths/~1api~1salon/patch/requestBody/content/application~1json/examples/full","paths/~1api~1salon/patch/requestBody/content/application~1json/examples/partial"]}},"examples":[{},{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Салон успешно обработан"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/UpdateSalonResponse","exampleIds":["paths/~1api~1salon/patch/responses/200/content/application~1json/examples/changed","paths/~1api~1salon/patch/responses/200/content/application~1json/examples/unchanged"]}},"schemaId":"components/schemas/UpdateSalonResponse","exampleIds":["paths/~1api~1salon/patch/responses/200/content/application~1json/examples/changed","paths/~1api~1salon/patch/responses/200/content/application~1json/examples/unchanged"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело запроса или ни одно поле не прошло валидацию"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon/patch/responses/400/content/application~1json/examples/empty_body","paths/~1api~1salon/patch/responses/400/content/application~1json/examples/invalid_geolocation","paths/~1api~1salon/patch/responses/400/content/application~1json/examples/invalid_working_days"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon/patch/responses/400/content/application~1json/examples/empty_body","paths/~1api~1salon/patch/responses/400/content/application~1json/examples/invalid_geolocation","paths/~1api~1salon/patch/responses/400/content/application~1json/examples/invalid_working_days"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon/patch/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon/patch/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Нет доступа к указанным файлам или файлы нельзя использовать с выбранным назначением"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon/patch/responses/403/content/application~1json/examples/no_file_access","paths/~1api~1salon/patch/responses/403/content/application~1json/examples/cards_only"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon/patch/responses/403/content/application~1json/examples/no_file_access","paths/~1api~1salon/patch/responses/403/content/application~1json/examples/cards_only"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Одна или несколько категорий не найдены"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon/patch/responses/404/content/application~1json/examples/category_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon/patch/responses/404/content/application~1json/examples/category_not_found"]},{"code":"409","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Объект был изменён параллельным запросом; клиент должен перечитать актуальное состояние и повторить операцию"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon/patch/responses/409/content/application~1json/examples/object_modified_by_another_thread"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon/patch/responses/409/content/application~1json/examples/object_modified_by_another_thread"]}],"pointer":"/paths/~1api~1salon/patch/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/UpdateSalonResponse","exampleIds":["paths/~1api~1salon/patch/responses/200/content/application~1json/examples/changed","paths/~1api~1salon/patch/responses/200/content/application~1json/examples/unchanged"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/UpdateSalonResponse","exampleIds":["paths/~1api~1salon/patch/responses/200/content/application~1json/examples/changed","paths/~1api~1salon/patch/responses/200/content/application~1json/examples/unchanged"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon/patch/responses/400/content/application~1json/examples/empty_body","paths/~1api~1salon/patch/responses/400/content/application~1json/examples/invalid_geolocation","paths/~1api~1salon/patch/responses/400/content/application~1json/examples/invalid_working_days"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon/patch/responses/400/content/application~1json/examples/empty_body","paths/~1api~1salon/patch/responses/400/content/application~1json/examples/invalid_geolocation","paths/~1api~1salon/patch/responses/400/content/application~1json/examples/invalid_working_days"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon/patch/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon/patch/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon/patch/responses/403/content/application~1json/examples/no_file_access","paths/~1api~1salon/patch/responses/403/content/application~1json/examples/cards_only"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon/patch/responses/403/content/application~1json/examples/no_file_access","paths/~1api~1salon/patch/responses/403/content/application~1json/examples/cards_only"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon/patch/responses/404/content/application~1json/examples/category_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon/patch/responses/404/content/application~1json/examples/category_not_found"]}}},{"code":"409","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon/patch/responses/409/content/application~1json/examples/object_modified_by_another_thread"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon/patch/responses/409/content/application~1json/examples/object_modified_by_another_thread"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/salon/paths/~1api~1salon/patch"}],"panels":[]}]},"httpPath":"/api/salon"},{"label":"Получить всех сотрудников салона","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/salon/paths/~1api~1salon~1members/get","routeSlug":"/openapi/salon/paths/~1api~1salon~1members/get","metadata":{"seo":{"title":"Получить всех сотрудников салона","description":"Возвращает всех сотрудников салона текущего пользователя: мастеров и администраторов."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить всех сотрудников салона","isWebhook":false,"pointer":"/paths/~1api~1salon~1members/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить всех сотрудников салона","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает всех сотрудников салона текущего пользователя: мастеров и администраторов."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Салон определяется backend по текущей JWT-сессии."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"текущий пользователь должен быть участником салона"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/salon/members","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","401","403"],"pointer":"/api/salon/members","href":"salon/paths/~1api~1salon~1members/get","summary":"Получить всех сотрудников салона","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Сотрудники салона успешно получены"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/GetSalonMembersResponse","exampleIds":["paths/~1api~1salon~1members/get/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/GetSalonMembersResponse","exampleIds":["paths/~1api~1salon~1members/get/responses/200/content/application~1json/examples/ok"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1members/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1members/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Текущий пользователь не является участником салона"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1members/get/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1members/get/responses/403/content/application~1json/examples/forbidden"]}],"pointer":"/paths/~1api~1salon~1members/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/GetSalonMembersResponse","exampleIds":["paths/~1api~1salon~1members/get/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/GetSalonMembersResponse","exampleIds":["paths/~1api~1salon~1members/get/responses/200/content/application~1json/examples/ok"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1members/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1members/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1members/get/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1members/get/responses/403/content/application~1json/examples/forbidden"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/salon/paths/~1api~1salon~1members/get"}],"panels":[]}]},"httpPath":"/api/salon/members"},{"label":"Временно деактивировать сотрудника салона","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/salon/paths/~1api~1salon~1members~1{targetuserid}~1deactivate/post","routeSlug":"/openapi/salon/paths/~1api~1salon~1members~1{targetuserid}~1deactivate/post","metadata":{"seo":{"title":"Временно деактивировать сотрудника салона","description":"Переводит мастера или администратора в статус TEMPORARILY_UNAVAILABLEна указанный период. Владелец может деактивировать мастера и администратора,администратор — только мастера. На период деактивации свободные слоты сотрудникане выдаются и бронирование невозможно."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Временно деактивировать сотрудника салона","isWebhook":false,"pointer":"/paths/~1api~1salon~1members~1{targetUserId}~1deactivate/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Временно деактивировать сотрудника салона","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Переводит мастера или администратора в статус "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"TEMPORARILY_UNAVAILABLE"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"на указанный период. Владелец может деактивировать мастера и администратора,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"администратор — только мастера. На период деактивации свободные слоты сотрудника"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"не выдаются и бронирование невозможно."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"targetUserId","in":"path","schemaId":"schema_125","required":true}],"pointer":"/paths/~1api~1salon~1members~1{targetUserId}~1deactivate/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_133"}},"schemaId":"schema_133","pointer":"/paths/~1api~1salon~1members~1{targetUserId}~1deactivate/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/salon/members/{targetUserId}/deactivate","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"targetUserId","in":"path","required":true,"schemaId":"schema_125"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_133"}},"responseCodes":["200","400","401","403","409"],"pointer":"/api/salon/members/{targetUserId}/deactivate","href":"salon/paths/~1api~1salon~1members~1{targetuserid}~1deactivate/post","summary":"Временно деактивировать сотрудника салона","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"schema_133","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_133"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Сотрудник деактивирован"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_134"}},"schemaId":"schema_134"},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело запроса"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1members~1{targetUserId}~1deactivate/post/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1members~1{targetUserId}~1deactivate/post/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1members~1{targetUserId}~1deactivate/post/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1members~1{targetUserId}~1deactivate/post/responses/403/content/application~1json/examples/forbidden"]},{"code":"409","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Сотрудник уже неактивен"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"}],"pointer":"/paths/~1api~1salon~1members~1{targetUserId}~1deactivate/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_134","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_134"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1members~1{targetUserId}~1deactivate/post/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1members~1{targetUserId}~1deactivate/post/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1members~1{targetUserId}~1deactivate/post/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1members~1{targetUserId}~1deactivate/post/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"409","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/salon/paths/~1api~1salon~1members~1{targetuserid}~1deactivate/post"}],"panels":[]}]},"httpPath":"/api/salon/members/{targetUserId}/deactivate"},{"label":"Получить всех мастеров салона","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/salon/paths/~1api~1salon~1masters/get","routeSlug":"/openapi/salon/paths/~1api~1salon~1masters/get","metadata":{"seo":{"title":"Получить всех мастеров салона","description":"Возвращает всех мастеров салона текущего пользователя."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить всех мастеров салона","isWebhook":false,"pointer":"/paths/~1api~1salon~1masters/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить всех мастеров салона","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает всех мастеров салона текущего пользователя."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Салон определяется backend по текущей JWT-сессии."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"текущий пользователь должен быть участником салона"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/salon/masters","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","401","403"],"pointer":"/api/salon/masters","href":"salon/paths/~1api~1salon~1masters/get","summary":"Получить всех мастеров салона","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Мастера салона успешно получены"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/GetSalonMastersResponse","exampleIds":["paths/~1api~1salon~1masters/get/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/GetSalonMastersResponse","exampleIds":["paths/~1api~1salon~1masters/get/responses/200/content/application~1json/examples/ok"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1masters/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1masters/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Текущий пользователь не является участником салона"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1masters/get/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1masters/get/responses/403/content/application~1json/examples/forbidden"]}],"pointer":"/paths/~1api~1salon~1masters/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/GetSalonMastersResponse","exampleIds":["paths/~1api~1salon~1masters/get/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/GetSalonMastersResponse","exampleIds":["paths/~1api~1salon~1masters/get/responses/200/content/application~1json/examples/ok"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1masters/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1masters/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1masters/get/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1masters/get/responses/403/content/application~1json/examples/forbidden"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/salon/paths/~1api~1salon~1masters/get"}],"panels":[]}]},"httpPath":"/api/salon/masters"},{"label":"Создать мастера салона","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/salon/paths/~1api~1salon~1master/post","routeSlug":"/openapi/salon/paths/~1api~1salon~1master/post","metadata":{"seo":{"title":"Создать мастера салона","description":"Создает профиль мастера внутри салона."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Создать мастера салона","isWebhook":false,"pointer":"/paths/~1api~1salon~1master/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Создать мастера салона","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Создает профиль мастера внутри салона."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Правила валидации:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"first_name"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" обязателен, не должен быть пустым и не должен быть длиннее 100 символов"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"last_name"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" обязателен, не должен быть пустым и не должен быть длиннее 100 символов"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"avatar"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если передан, должен быть положительным ID файла"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"avatar"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" должен принадлежать текущему пользователю и быть допустимым для установки как аватар"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"category_ids"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если передан, должен быть массивом уникальных положительных ID существующих категорий"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"example_work_images"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если передан, должен содержать уникальные положительные ID файлов и не больше 10 элементов"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"все файлы из "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"example_work_images"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" должны принадлежать текущему пользователю и иметь purpose "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CARD"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"experience_years"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если передан, должен быть в диапазоне от 0 до 60"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"description"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если передан, не должен быть пустым и не должен быть длиннее 1000 символов"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"interior_description"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если передан, не должен быть пустым и не должен быть длиннее 1000 символов"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"interior_images"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если передан, должен содержать уникальные положительные ID файлов и не больше 10 элементов"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"все файлы из "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"interior_images"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" должны принадлежать текущему пользователю и иметь purpose "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CARD"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"advantages"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если передан, должен содержать уникальные непустые строки, не больше 5 элементов, каждый элемент не длиннее 50 символов"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"min_booking_lead_time_minutes"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если передан, должен быть больше или равен 0"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"break_after_service_min"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если передан, должен быть больше или равен 0"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"текущий пользователь должен быть владельцем или администратором салона"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/CreateSalonMasterRequest","exampleIds":["paths/~1api~1salon~1master/post/requestBody/content/application~1json/examples/full"]}},"schemaId":"components/schemas/CreateSalonMasterRequest","exampleIds":["paths/~1api~1salon~1master/post/requestBody/content/application~1json/examples/full"],"pointer":"/paths/~1api~1salon~1master/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/salon/master","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/CreateSalonMasterRequest","exampleIds":["paths/~1api~1salon~1master/post/requestBody/content/application~1json/examples/full"]}},"responseCodes":["201","400","401","403","404"],"pointer":"/api/salon/master","href":"salon/paths/~1api~1salon~1master/post","summary":"Создать мастера салона","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/CreateSalonMasterRequest","exampleIds":["paths/~1api~1salon~1master/post/requestBody/content/application~1json/examples/full"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/CreateSalonMasterRequest","exampleIds":["paths/~1api~1salon~1master/post/requestBody/content/application~1json/examples/full"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Мастер салона успешно создан"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CreateSalonMasterResponse","exampleIds":["paths/~1api~1salon~1master/post/responses/201/content/application~1json/examples/created"]}},"schemaId":"components/schemas/CreateSalonMasterResponse","exampleIds":["paths/~1api~1salon~1master/post/responses/201/content/application~1json/examples/created"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело запроса"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master/post/responses/400/content/application~1json/examples/invalid_body"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master/post/responses/400/content/application~1json/examples/invalid_body"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master/post/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master/post/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Нет прав на создание мастера салона или нет доступа к файлам"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master/post/responses/403/content/application~1json/examples/forbidden_role","paths/~1api~1salon~1master/post/responses/403/content/application~1json/examples/no_file_access","paths/~1api~1salon~1master/post/responses/403/content/application~1json/examples/cards_only"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master/post/responses/403/content/application~1json/examples/forbidden_role","paths/~1api~1salon~1master/post/responses/403/content/application~1json/examples/no_file_access","paths/~1api~1salon~1master/post/responses/403/content/application~1json/examples/cards_only"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Салон или категория не найдены"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master/post/responses/404/content/application~1json/examples/salon_not_found","paths/~1api~1salon~1master/post/responses/404/content/application~1json/examples/category_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master/post/responses/404/content/application~1json/examples/salon_not_found","paths/~1api~1salon~1master/post/responses/404/content/application~1json/examples/category_not_found"]}],"pointer":"/paths/~1api~1salon~1master/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"201","schemaId":"components/schemas/CreateSalonMasterResponse","exampleIds":["paths/~1api~1salon~1master/post/responses/201/content/application~1json/examples/created"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CreateSalonMasterResponse","exampleIds":["paths/~1api~1salon~1master/post/responses/201/content/application~1json/examples/created"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master/post/responses/400/content/application~1json/examples/invalid_body"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master/post/responses/400/content/application~1json/examples/invalid_body"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master/post/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master/post/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master/post/responses/403/content/application~1json/examples/forbidden_role","paths/~1api~1salon~1master/post/responses/403/content/application~1json/examples/no_file_access","paths/~1api~1salon~1master/post/responses/403/content/application~1json/examples/cards_only"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master/post/responses/403/content/application~1json/examples/forbidden_role","paths/~1api~1salon~1master/post/responses/403/content/application~1json/examples/no_file_access","paths/~1api~1salon~1master/post/responses/403/content/application~1json/examples/cards_only"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master/post/responses/404/content/application~1json/examples/salon_not_found","paths/~1api~1salon~1master/post/responses/404/content/application~1json/examples/category_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master/post/responses/404/content/application~1json/examples/salon_not_found","paths/~1api~1salon~1master/post/responses/404/content/application~1json/examples/category_not_found"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/salon/paths/~1api~1salon~1master/post"}],"panels":[]}]},"httpPath":"/api/salon/master"},{"label":"Получить мастера салона по user_id","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/salon/paths/~1api~1salon~1master~1{salon_master_id}/get","routeSlug":"/openapi/salon/paths/~1api~1salon~1master~1{salon_master_id}/get","metadata":{"seo":{"title":"Получить мастера салона по user_id","description":"Возвращает публичную карточку конкретного мастера салона.Телефон и email мастера в ответ не включаются."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить мастера салона по user_id","isWebhook":false,"pointer":"/paths/~1api~1salon~1master~1{salon_master_id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить мастера салона по user_id","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает публичную карточку конкретного мастера салона."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Телефон и email мастера в ответ не включаются."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется USER authority"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"salon_master_id","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID пользователя ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"users.id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]}],"required":true,"example":22}],"pointer":"/paths/~1api~1salon~1master~1{salon_master_id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/salon/master/{salon_master_id}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"salon_master_id","in":"path","required":true,"example":22,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","401","403","404"],"pointer":"/api/salon/master/{salon_master_id}","href":"salon/paths/~1api~1salon~1master~1{salon_master_id}/get","summary":"Получить мастера салона по user_id","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Мастер салона успешно найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/GetSalonMasterResponse","exampleIds":["paths/~1api~1salon~1master~1{salon_master_id}/get/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/GetSalonMasterResponse","exampleIds":["paths/~1api~1salon~1master~1{salon_master_id}/get/responses/200/content/application~1json/examples/ok"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master~1{salon_master_id}/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master~1{salon_master_id}/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master~1{salon_master_id}/get/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master~1{salon_master_id}/get/responses/403/content/application~1json/examples/forbidden"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Мастер салона не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master~1{salon_master_id}/get/responses/404/content/application~1json/examples/salon_master_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master~1{salon_master_id}/get/responses/404/content/application~1json/examples/salon_master_not_found"]}],"pointer":"/paths/~1api~1salon~1master~1{salon_master_id}/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/GetSalonMasterResponse","exampleIds":["paths/~1api~1salon~1master~1{salon_master_id}/get/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/GetSalonMasterResponse","exampleIds":["paths/~1api~1salon~1master~1{salon_master_id}/get/responses/200/content/application~1json/examples/ok"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master~1{salon_master_id}/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master~1{salon_master_id}/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master~1{salon_master_id}/get/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master~1{salon_master_id}/get/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master~1{salon_master_id}/get/responses/404/content/application~1json/examples/salon_master_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master~1{salon_master_id}/get/responses/404/content/application~1json/examples/salon_master_not_found"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/salon/paths/~1api~1salon~1master~1{salon_master_id}/get"}],"panels":[]}]},"httpPath":"/api/salon/master/{salon_master_id}"},{"label":"Изменить мастера салона","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/salon/paths/~1api~1salon~1master~1{salon_master_id}/patch","routeSlug":"/openapi/salon/paths/~1api~1salon~1master~1{salon_master_id}/patch","metadata":{"seo":{"title":"Изменить мастера салона","description":"Частично изменяет профиль мастера внутри салона."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Изменить мастера салона","isWebhook":false,"pointer":"/paths/~1api~1salon~1master~1{salon_master_id}/patch","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Изменить мастера салона","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Частично изменяет профиль мастера внутри салона."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Изменять можно только мастера, который принадлежит тому же салону."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Если переданные значения совпадают с уже сохраненными, backend возвращает"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"changed = false"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и сообщение "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"No changes were made to the salon master"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Правила валидации:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"должен быть заполнен хотя бы один корректный field"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"first_name"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"last_name"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если переданы, не должны быть пустыми и не должны быть длиннее 100 символов"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"avatar"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если передан, должен быть положительным ID файла"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"avatar"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" должен принадлежать текущему пользователю и быть допустимым для установки как аватар"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"category_ids"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если передан, должен быть массивом уникальных положительных ID существующих категорий"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"example_work_images"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если передан, должен содержать уникальные положительные ID файлов и не больше 10 элементов"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"все файлы из "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"example_work_images"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" должны принадлежать текущему пользователю и иметь purpose "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CARD"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"experience_years"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если передан, должен быть в диапазоне от 0 до 60"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"description"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если передан, не должен быть пустым и не должен быть длиннее 1000 символов"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"interior_description"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если передан, не должен быть пустым и не должен быть длиннее 1000 символов"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"interior_images"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если передан, должен содержать уникальные положительные ID файлов и не больше 10 элементов"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"все файлы из "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"interior_images"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" должны принадлежать текущему пользователю и иметь purpose "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CARD"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"advantages"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если передан, должен содержать уникальные непустые строки, не больше 5 элементов, каждый элемент не длиннее 50 символов"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"min_booking_lead_time_minutes"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если передан, должен быть больше или равен 0"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"break_after_service_min"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если передан, должен быть больше или равен 0"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"текущий пользователь должен быть владельцем или администратором салона"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"salon_master_id","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"salon_masters.id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true,"example":15}],"pointer":"/paths/~1api~1salon~1master~1{salon_master_id}/patch/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/EditSalonMasterRequest","exampleIds":["paths/~1api~1salon~1master~1{salon_master_id}/patch/requestBody/content/application~1json/examples/full","paths/~1api~1salon~1master~1{salon_master_id}/patch/requestBody/content/application~1json/examples/partial"]}},"schemaId":"components/schemas/EditSalonMasterRequest","exampleIds":["paths/~1api~1salon~1master~1{salon_master_id}/patch/requestBody/content/application~1json/examples/full","paths/~1api~1salon~1master~1{salon_master_id}/patch/requestBody/content/application~1json/examples/partial"],"pointer":"/paths/~1api~1salon~1master~1{salon_master_id}/patch/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PATCH","path":"/api/salon/master/{salon_master_id}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"salon_master_id","in":"path","required":true,"example":15,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/EditSalonMasterRequest","exampleIds":["paths/~1api~1salon~1master~1{salon_master_id}/patch/requestBody/content/application~1json/examples/full","paths/~1api~1salon~1master~1{salon_master_id}/patch/requestBody/content/application~1json/examples/partial"]}},"responseCodes":["200","400","401","403","404"],"pointer":"/api/salon/master/{salon_master_id}","href":"salon/paths/~1api~1salon~1master~1{salon_master_id}/patch","summary":"Изменить мастера салона","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/EditSalonMasterRequest","exampleIds":["paths/~1api~1salon~1master~1{salon_master_id}/patch/requestBody/content/application~1json/examples/full","paths/~1api~1salon~1master~1{salon_master_id}/patch/requestBody/content/application~1json/examples/partial"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/EditSalonMasterRequest","exampleIds":["paths/~1api~1salon~1master~1{salon_master_id}/patch/requestBody/content/application~1json/examples/full","paths/~1api~1salon~1master~1{salon_master_id}/patch/requestBody/content/application~1json/examples/partial"]}},"examples":[{},{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Мастер салона успешно обработан"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/UpdateSalonMasterResponse","exampleIds":["paths/~1api~1salon~1master~1{salon_master_id}/patch/responses/200/content/application~1json/examples/changed","paths/~1api~1salon~1master~1{salon_master_id}/patch/responses/200/content/application~1json/examples/unchanged"]}},"schemaId":"components/schemas/UpdateSalonMasterResponse","exampleIds":["paths/~1api~1salon~1master~1{salon_master_id}/patch/responses/200/content/application~1json/examples/changed","paths/~1api~1salon~1master~1{salon_master_id}/patch/responses/200/content/application~1json/examples/unchanged"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело запроса"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master~1{salon_master_id}/patch/responses/400/content/application~1json/examples/empty_body","paths/~1api~1salon~1master~1{salon_master_id}/patch/responses/400/content/application~1json/examples/invalid_experience"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master~1{salon_master_id}/patch/responses/400/content/application~1json/examples/empty_body","paths/~1api~1salon~1master~1{salon_master_id}/patch/responses/400/content/application~1json/examples/invalid_experience"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master~1{salon_master_id}/patch/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master~1{salon_master_id}/patch/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Нет прав на изменение мастера салона или нет доступа к файлам"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master~1{salon_master_id}/patch/responses/403/content/application~1json/examples/forbidden_role","paths/~1api~1salon~1master~1{salon_master_id}/patch/responses/403/content/application~1json/examples/no_file_access","paths/~1api~1salon~1master~1{salon_master_id}/patch/responses/403/content/application~1json/examples/wrong_avatar_purpose","paths/~1api~1salon~1master~1{salon_master_id}/patch/responses/403/content/application~1json/examples/cards_only"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master~1{salon_master_id}/patch/responses/403/content/application~1json/examples/forbidden_role","paths/~1api~1salon~1master~1{salon_master_id}/patch/responses/403/content/application~1json/examples/no_file_access","paths/~1api~1salon~1master~1{salon_master_id}/patch/responses/403/content/application~1json/examples/wrong_avatar_purpose","paths/~1api~1salon~1master~1{salon_master_id}/patch/responses/403/content/application~1json/examples/cards_only"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Мастер салона или категория не найдены"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master~1{salon_master_id}/patch/responses/404/content/application~1json/examples/salon_master_not_found","paths/~1api~1salon~1master~1{salon_master_id}/patch/responses/404/content/application~1json/examples/category_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master~1{salon_master_id}/patch/responses/404/content/application~1json/examples/salon_master_not_found","paths/~1api~1salon~1master~1{salon_master_id}/patch/responses/404/content/application~1json/examples/category_not_found"]}],"pointer":"/paths/~1api~1salon~1master~1{salon_master_id}/patch/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/UpdateSalonMasterResponse","exampleIds":["paths/~1api~1salon~1master~1{salon_master_id}/patch/responses/200/content/application~1json/examples/changed","paths/~1api~1salon~1master~1{salon_master_id}/patch/responses/200/content/application~1json/examples/unchanged"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/UpdateSalonMasterResponse","exampleIds":["paths/~1api~1salon~1master~1{salon_master_id}/patch/responses/200/content/application~1json/examples/changed","paths/~1api~1salon~1master~1{salon_master_id}/patch/responses/200/content/application~1json/examples/unchanged"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master~1{salon_master_id}/patch/responses/400/content/application~1json/examples/empty_body","paths/~1api~1salon~1master~1{salon_master_id}/patch/responses/400/content/application~1json/examples/invalid_experience"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master~1{salon_master_id}/patch/responses/400/content/application~1json/examples/empty_body","paths/~1api~1salon~1master~1{salon_master_id}/patch/responses/400/content/application~1json/examples/invalid_experience"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master~1{salon_master_id}/patch/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master~1{salon_master_id}/patch/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master~1{salon_master_id}/patch/responses/403/content/application~1json/examples/forbidden_role","paths/~1api~1salon~1master~1{salon_master_id}/patch/responses/403/content/application~1json/examples/no_file_access","paths/~1api~1salon~1master~1{salon_master_id}/patch/responses/403/content/application~1json/examples/wrong_avatar_purpose","paths/~1api~1salon~1master~1{salon_master_id}/patch/responses/403/content/application~1json/examples/cards_only"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master~1{salon_master_id}/patch/responses/403/content/application~1json/examples/forbidden_role","paths/~1api~1salon~1master~1{salon_master_id}/patch/responses/403/content/application~1json/examples/no_file_access","paths/~1api~1salon~1master~1{salon_master_id}/patch/responses/403/content/application~1json/examples/wrong_avatar_purpose","paths/~1api~1salon~1master~1{salon_master_id}/patch/responses/403/content/application~1json/examples/cards_only"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master~1{salon_master_id}/patch/responses/404/content/application~1json/examples/salon_master_not_found","paths/~1api~1salon~1master~1{salon_master_id}/patch/responses/404/content/application~1json/examples/category_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master~1{salon_master_id}/patch/responses/404/content/application~1json/examples/salon_master_not_found","paths/~1api~1salon~1master~1{salon_master_id}/patch/responses/404/content/application~1json/examples/category_not_found"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/salon/paths/~1api~1salon~1master~1{salon_master_id}/patch"}],"panels":[]}]},"httpPath":"/api/salon/master/{salon_master_id}"},{"label":"Удалить аккаунт мастера салона","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/salon/paths/~1api~1salon~1master~1{salon_master_id}/delete","routeSlug":"/openapi/salon/paths/~1api~1salon~1master~1{salon_master_id}/delete","metadata":{"seo":{"title":"Удалить аккаунт мастера салона","description":"Обезличивает аккаунт мастера салона. Доступ разрешён владельцу салонаи администратору того же салона с permission STAFF_DELETE.Удаление блокируется только при наличии записи в статусе BOOKED."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Удалить аккаунт мастера салона","isWebhook":false,"pointer":"/paths/~1api~1salon~1master~1{salon_master_id}/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Удалить аккаунт мастера салона","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Обезличивает аккаунт мастера салона. Доступ разрешён владельцу салона"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"и администратору того же салона с permission "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"STAFF_DELETE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Удаление блокируется только при наличии записи в статусе "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"BOOKED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"salon_master_id","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"salon_masters.id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1salon~1master~1{salon_master_id}/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/api/salon/master/{salon_master_id}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"salon_master_id","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","401","403","404","409"],"pointer":"/api/salon/master/{salon_master_id}","href":"salon/paths/~1api~1salon~1master~1{salon_master_id}/delete","summary":"Удалить аккаунт мастера салона","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Аккаунт мастера салона удалён или уже был удалён"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1salon~1master~1{salon_master_id}/delete/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1salon~1master~1{salon_master_id}/delete/responses/200/content/application~1json/example"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master~1{salon_master_id}/delete/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master~1{salon_master_id}/delete/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master~1{salon_master_id}/delete/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master~1{salon_master_id}/delete/responses/403/content/application~1json/examples/forbidden"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрошенный ресурс не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master~1{salon_master_id}/delete/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master~1{salon_master_id}/delete/responses/404/content/application~1json/examples/not_found"]},{"code":"409","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"У мастера остались записи в статусе BOOKED"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master~1{salon_master_id}/delete/responses/409/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master~1{salon_master_id}/delete/responses/409/content/application~1json/example"]}],"pointer":"/paths/~1api~1salon~1master~1{salon_master_id}/delete/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1salon~1master~1{salon_master_id}/delete/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1salon~1master~1{salon_master_id}/delete/responses/200/content/application~1json/example"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master~1{salon_master_id}/delete/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master~1{salon_master_id}/delete/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master~1{salon_master_id}/delete/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master~1{salon_master_id}/delete/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master~1{salon_master_id}/delete/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master~1{salon_master_id}/delete/responses/404/content/application~1json/examples/not_found"]}}},{"code":"409","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master~1{salon_master_id}/delete/responses/409/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master~1{salon_master_id}/delete/responses/409/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/salon/paths/~1api~1salon~1master~1{salon_master_id}/delete"}],"panels":[]}]},"httpPath":"/api/salon/master/{salon_master_id}"},{"label":"Создать администратора салона","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/salon/paths/~1api~1salon~1admin/post","routeSlug":"/openapi/salon/paths/~1api~1salon~1admin/post","metadata":{"seo":{"title":"Создать администратора салона","description":"Создает администратора внутри салона."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Создать администратора салона","isWebhook":false,"pointer":"/paths/~1api~1salon~1admin/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Создать администратора салона","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Создает администратора внутри салона."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Правила валидации:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"first_name"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" обязателен, не должен быть пустым и не должен быть длиннее 100 символов"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"last_name"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" обязателен, не должен быть пустым и не должен быть длиннее 100 символов"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"текущий пользователь должен быть владельцем или администратором салона"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/CreateSalonAdminRequest","exampleIds":["paths/~1api~1salon~1admin/post/requestBody/content/application~1json/examples/full"]}},"schemaId":"components/schemas/CreateSalonAdminRequest","exampleIds":["paths/~1api~1salon~1admin/post/requestBody/content/application~1json/examples/full"],"pointer":"/paths/~1api~1salon~1admin/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/salon/admin","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/CreateSalonAdminRequest","exampleIds":["paths/~1api~1salon~1admin/post/requestBody/content/application~1json/examples/full"]}},"responseCodes":["201","400","401","403","404"],"pointer":"/api/salon/admin","href":"salon/paths/~1api~1salon~1admin/post","summary":"Создать администратора салона","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/CreateSalonAdminRequest","exampleIds":["paths/~1api~1salon~1admin/post/requestBody/content/application~1json/examples/full"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/CreateSalonAdminRequest","exampleIds":["paths/~1api~1salon~1admin/post/requestBody/content/application~1json/examples/full"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Администратор салона успешно создан"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CreateSalonAdminResponse","exampleIds":["paths/~1api~1salon~1admin/post/responses/201/content/application~1json/examples/created"]}},"schemaId":"components/schemas/CreateSalonAdminResponse","exampleIds":["paths/~1api~1salon~1admin/post/responses/201/content/application~1json/examples/created"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело запроса"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1admin/post/responses/400/content/application~1json/examples/missing_first_name","paths/~1api~1salon~1admin/post/responses/400/content/application~1json/examples/invalid_first_name","paths/~1api~1salon~1admin/post/responses/400/content/application~1json/examples/invalid_last_name"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1admin/post/responses/400/content/application~1json/examples/missing_first_name","paths/~1api~1salon~1admin/post/responses/400/content/application~1json/examples/invalid_first_name","paths/~1api~1salon~1admin/post/responses/400/content/application~1json/examples/invalid_last_name"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1admin/post/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1admin/post/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Нет прав на создание администратора салона"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1admin/post/responses/403/content/application~1json/examples/forbidden_role"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1admin/post/responses/403/content/application~1json/examples/forbidden_role"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Салон не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1admin/post/responses/404/content/application~1json/examples/salon_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1admin/post/responses/404/content/application~1json/examples/salon_not_found"]}],"pointer":"/paths/~1api~1salon~1admin/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"201","schemaId":"components/schemas/CreateSalonAdminResponse","exampleIds":["paths/~1api~1salon~1admin/post/responses/201/content/application~1json/examples/created"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CreateSalonAdminResponse","exampleIds":["paths/~1api~1salon~1admin/post/responses/201/content/application~1json/examples/created"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1admin/post/responses/400/content/application~1json/examples/missing_first_name","paths/~1api~1salon~1admin/post/responses/400/content/application~1json/examples/invalid_first_name","paths/~1api~1salon~1admin/post/responses/400/content/application~1json/examples/invalid_last_name"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1admin/post/responses/400/content/application~1json/examples/missing_first_name","paths/~1api~1salon~1admin/post/responses/400/content/application~1json/examples/invalid_first_name","paths/~1api~1salon~1admin/post/responses/400/content/application~1json/examples/invalid_last_name"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1admin/post/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1admin/post/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1admin/post/responses/403/content/application~1json/examples/forbidden_role"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1admin/post/responses/403/content/application~1json/examples/forbidden_role"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1admin/post/responses/404/content/application~1json/examples/salon_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1admin/post/responses/404/content/application~1json/examples/salon_not_found"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/salon/paths/~1api~1salon~1admin/post"}],"panels":[]}]},"httpPath":"/api/salon/admin"},{"label":"Получить администратора салона по user_id","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/salon/paths/~1api~1salon~1admin~1{salon_admin_id}/get","routeSlug":"/openapi/salon/paths/~1api~1salon~1admin~1{salon_admin_id}/get","metadata":{"seo":{"title":"Получить администратора салона по user_id","description":"Возвращает конкретного администратора салона."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить администратора салона по user_id","isWebhook":false,"pointer":"/paths/~1api~1salon~1admin~1{salon_admin_id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить администратора салона по user_id","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает конкретного администратора салона."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется USER authority"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"salon_admin_id","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID пользователя ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"users.id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]}],"required":true,"example":21}],"pointer":"/paths/~1api~1salon~1admin~1{salon_admin_id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/salon/admin/{salon_admin_id}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"salon_admin_id","in":"path","required":true,"example":21,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","401","403","404"],"pointer":"/api/salon/admin/{salon_admin_id}","href":"salon/paths/~1api~1salon~1admin~1{salon_admin_id}/get","summary":"Получить администратора салона по user_id","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Администратор салона успешно найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/GetSalonAdminResponse","exampleIds":["paths/~1api~1salon~1admin~1{salon_admin_id}/get/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/GetSalonAdminResponse","exampleIds":["paths/~1api~1salon~1admin~1{salon_admin_id}/get/responses/200/content/application~1json/examples/ok"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1admin~1{salon_admin_id}/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1admin~1{salon_admin_id}/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1admin~1{salon_admin_id}/get/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1admin~1{salon_admin_id}/get/responses/403/content/application~1json/examples/forbidden"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Администратор салона не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1admin~1{salon_admin_id}/get/responses/404/content/application~1json/examples/salon_admin_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1admin~1{salon_admin_id}/get/responses/404/content/application~1json/examples/salon_admin_not_found"]}],"pointer":"/paths/~1api~1salon~1admin~1{salon_admin_id}/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/GetSalonAdminResponse","exampleIds":["paths/~1api~1salon~1admin~1{salon_admin_id}/get/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/GetSalonAdminResponse","exampleIds":["paths/~1api~1salon~1admin~1{salon_admin_id}/get/responses/200/content/application~1json/examples/ok"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1admin~1{salon_admin_id}/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1admin~1{salon_admin_id}/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1admin~1{salon_admin_id}/get/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1admin~1{salon_admin_id}/get/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1admin~1{salon_admin_id}/get/responses/404/content/application~1json/examples/salon_admin_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1admin~1{salon_admin_id}/get/responses/404/content/application~1json/examples/salon_admin_not_found"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/salon/paths/~1api~1salon~1admin~1{salon_admin_id}/get"}],"panels":[]}]},"httpPath":"/api/salon/admin/{salon_admin_id}"},{"label":"Изменить администратора салона","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/salon/paths/~1api~1salon~1admin~1{salon_admin_id}/patch","routeSlug":"/openapi/salon/paths/~1api~1salon~1admin~1{salon_admin_id}/patch","metadata":{"seo":{"title":"Изменить администратора салона","description":"Частично изменяет данные администратора салона."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Изменить администратора салона","isWebhook":false,"pointer":"/paths/~1api~1salon~1admin~1{salon_admin_id}/patch","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Изменить администратора салона","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Частично изменяет данные администратора салона."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Изменять можно только администратора, который принадлежит тому же салону."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Если переданные значения совпадают с уже сохраненными, backend возвращает"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"changed = false"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и сообщение "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"No changes were made to the salon admin"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Правила валидации:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"должен быть заполнен хотя бы один корректный field"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"first_name"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если передан, не должен быть пустым и не должен быть длиннее 100 символов"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"last_name"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если передан, не должен быть пустым и не должен быть длиннее 100 символов"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"текущий пользователь должен быть владельцем или администратором салона"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"salon_admin_id","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"salon_admins.id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true,"example":10}],"pointer":"/paths/~1api~1salon~1admin~1{salon_admin_id}/patch/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/EditSalonAdminRequest","exampleIds":["paths/~1api~1salon~1admin~1{salon_admin_id}/patch/requestBody/content/application~1json/examples/full","paths/~1api~1salon~1admin~1{salon_admin_id}/patch/requestBody/content/application~1json/examples/partial"]}},"schemaId":"components/schemas/EditSalonAdminRequest","exampleIds":["paths/~1api~1salon~1admin~1{salon_admin_id}/patch/requestBody/content/application~1json/examples/full","paths/~1api~1salon~1admin~1{salon_admin_id}/patch/requestBody/content/application~1json/examples/partial"],"pointer":"/paths/~1api~1salon~1admin~1{salon_admin_id}/patch/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PATCH","path":"/api/salon/admin/{salon_admin_id}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"salon_admin_id","in":"path","required":true,"example":10,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/EditSalonAdminRequest","exampleIds":["paths/~1api~1salon~1admin~1{salon_admin_id}/patch/requestBody/content/application~1json/examples/full","paths/~1api~1salon~1admin~1{salon_admin_id}/patch/requestBody/content/application~1json/examples/partial"]}},"responseCodes":["200","400","401","403","404"],"pointer":"/api/salon/admin/{salon_admin_id}","href":"salon/paths/~1api~1salon~1admin~1{salon_admin_id}/patch","summary":"Изменить администратора салона","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/EditSalonAdminRequest","exampleIds":["paths/~1api~1salon~1admin~1{salon_admin_id}/patch/requestBody/content/application~1json/examples/full","paths/~1api~1salon~1admin~1{salon_admin_id}/patch/requestBody/content/application~1json/examples/partial"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/EditSalonAdminRequest","exampleIds":["paths/~1api~1salon~1admin~1{salon_admin_id}/patch/requestBody/content/application~1json/examples/full","paths/~1api~1salon~1admin~1{salon_admin_id}/patch/requestBody/content/application~1json/examples/partial"]}},"examples":[{},{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Администратор салона успешно обработан"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/UpdateSalonAdminResponse","exampleIds":["paths/~1api~1salon~1admin~1{salon_admin_id}/patch/responses/200/content/application~1json/examples/changed","paths/~1api~1salon~1admin~1{salon_admin_id}/patch/responses/200/content/application~1json/examples/unchanged"]}},"schemaId":"components/schemas/UpdateSalonAdminResponse","exampleIds":["paths/~1api~1salon~1admin~1{salon_admin_id}/patch/responses/200/content/application~1json/examples/changed","paths/~1api~1salon~1admin~1{salon_admin_id}/patch/responses/200/content/application~1json/examples/unchanged"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело запроса"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1admin~1{salon_admin_id}/patch/responses/400/content/application~1json/examples/empty_body","paths/~1api~1salon~1admin~1{salon_admin_id}/patch/responses/400/content/application~1json/examples/invalid_first_name"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1admin~1{salon_admin_id}/patch/responses/400/content/application~1json/examples/empty_body","paths/~1api~1salon~1admin~1{salon_admin_id}/patch/responses/400/content/application~1json/examples/invalid_first_name"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1admin~1{salon_admin_id}/patch/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1admin~1{salon_admin_id}/patch/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Нет прав на изменение администратора салона"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1admin~1{salon_admin_id}/patch/responses/403/content/application~1json/examples/forbidden_role"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1admin~1{salon_admin_id}/patch/responses/403/content/application~1json/examples/forbidden_role"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Администратор салона не найден или не принадлежит текущему салону"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1admin~1{salon_admin_id}/patch/responses/404/content/application~1json/examples/salon_admin_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1admin~1{salon_admin_id}/patch/responses/404/content/application~1json/examples/salon_admin_not_found"]}],"pointer":"/paths/~1api~1salon~1admin~1{salon_admin_id}/patch/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/UpdateSalonAdminResponse","exampleIds":["paths/~1api~1salon~1admin~1{salon_admin_id}/patch/responses/200/content/application~1json/examples/changed","paths/~1api~1salon~1admin~1{salon_admin_id}/patch/responses/200/content/application~1json/examples/unchanged"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/UpdateSalonAdminResponse","exampleIds":["paths/~1api~1salon~1admin~1{salon_admin_id}/patch/responses/200/content/application~1json/examples/changed","paths/~1api~1salon~1admin~1{salon_admin_id}/patch/responses/200/content/application~1json/examples/unchanged"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1admin~1{salon_admin_id}/patch/responses/400/content/application~1json/examples/empty_body","paths/~1api~1salon~1admin~1{salon_admin_id}/patch/responses/400/content/application~1json/examples/invalid_first_name"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1admin~1{salon_admin_id}/patch/responses/400/content/application~1json/examples/empty_body","paths/~1api~1salon~1admin~1{salon_admin_id}/patch/responses/400/content/application~1json/examples/invalid_first_name"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1admin~1{salon_admin_id}/patch/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1admin~1{salon_admin_id}/patch/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1admin~1{salon_admin_id}/patch/responses/403/content/application~1json/examples/forbidden_role"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1admin~1{salon_admin_id}/patch/responses/403/content/application~1json/examples/forbidden_role"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1admin~1{salon_admin_id}/patch/responses/404/content/application~1json/examples/salon_admin_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1admin~1{salon_admin_id}/patch/responses/404/content/application~1json/examples/salon_admin_not_found"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/salon/paths/~1api~1salon~1admin~1{salon_admin_id}/patch"}],"panels":[]}]},"httpPath":"/api/salon/admin/{salon_admin_id}"},{"label":"Удалить администратора салона","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/salon/paths/~1api~1salon~1admin~1{salon_admin_id}/delete","routeSlug":"/openapi/salon/paths/~1api~1salon~1admin~1{salon_admin_id}/delete","metadata":{"seo":{"title":"Удалить администратора салона","description":"Удаляет администратора из салона, отзывает его доступ и обезличивает учетную запись.Переписка, отправленная от имени салона, сохраняется без идентификатора сотрудника."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Удалить администратора салона","isWebhook":false,"pointer":"/paths/~1api~1salon~1admin~1{salon_admin_id}/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Удалить администратора салона","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Удаляет администратора из салона, отзывает его доступ и обезличивает учетную запись."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Переписка, отправленная от имени салона, сохраняется без идентификатора сотрудника."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"удалить администратора может только владелец того же салона"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"параметр содержит ID "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"salon_admins.id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", а не "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"users.id"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"salon_admin_id","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"salon_admins.id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1salon~1admin~1{salon_admin_id}/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/api/salon/admin/{salon_admin_id}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"salon_admin_id","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","401","403","404"],"pointer":"/api/salon/admin/{salon_admin_id}","href":"salon/paths/~1api~1salon~1admin~1{salon_admin_id}/delete","summary":"Удалить администратора салона","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Учетная запись администратора удалена и обезличена"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1salon~1admin~1{salon_admin_id}/delete/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1salon~1admin~1{salon_admin_id}/delete/responses/200/content/application~1json/examples/ok"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1admin~1{salon_admin_id}/delete/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1admin~1{salon_admin_id}/delete/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Удаление запрошено не владельцем или для другого салона"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Администратор салона не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"}],"pointer":"/paths/~1api~1salon~1admin~1{salon_admin_id}/delete/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1salon~1admin~1{salon_admin_id}/delete/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1salon~1admin~1{salon_admin_id}/delete/responses/200/content/application~1json/examples/ok"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1admin~1{salon_admin_id}/delete/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1admin~1{salon_admin_id}/delete/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/salon/paths/~1api~1salon~1admin~1{salon_admin_id}/delete"}],"panels":[]}]},"httpPath":"/api/salon/admin/{salon_admin_id}"},{"label":"Получить свои права администратора салона","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/salon/paths/~1api~1salon~1my~1permissions/get","routeSlug":"/openapi/salon/paths/~1api~1salon~1my~1permissions/get","metadata":{"seo":{"title":"Получить свои права администратора салона","description":"Возвращает права текущего администратора салона."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить свои права администратора салона","isWebhook":false,"pointer":"/paths/~1api~1salon~1my~1permissions/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить свои права администратора салона","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает права текущего администратора салона."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/salon/my/permissions","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","401","403"],"pointer":"/api/salon/my/permissions","href":"salon/paths/~1api~1salon~1my~1permissions/get","summary":"Получить свои права администратора салона","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Права успешно получены"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SalonMemberPermissionsResponse","exampleIds":["paths/~1api~1salon~1my~1permissions/get/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/SalonMemberPermissionsResponse","exampleIds":["paths/~1api~1salon~1my~1permissions/get/responses/200/content/application~1json/examples/ok"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1my~1permissions/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1my~1permissions/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1my~1permissions/get/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1my~1permissions/get/responses/403/content/application~1json/examples/forbidden"]}],"pointer":"/paths/~1api~1salon~1my~1permissions/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/SalonMemberPermissionsResponse","exampleIds":["paths/~1api~1salon~1my~1permissions/get/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SalonMemberPermissionsResponse","exampleIds":["paths/~1api~1salon~1my~1permissions/get/responses/200/content/application~1json/examples/ok"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1my~1permissions/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1my~1permissions/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1my~1permissions/get/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1my~1permissions/get/responses/403/content/application~1json/examples/forbidden"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/salon/paths/~1api~1salon~1my~1permissions/get"}],"panels":[]}]},"httpPath":"/api/salon/my/permissions"},{"label":"Получить права администратора салона","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/salon/paths/~1api~1salon~1member~1{user_id}~1permissions/get","routeSlug":"/openapi/salon/paths/~1api~1salon~1member~1{user_id}~1permissions/get","metadata":{"seo":{"title":"Получить права администратора салона","description":"Возвращает список permission администратора салона."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить права администратора салона","isWebhook":false,"pointer":"/paths/~1api~1salon~1member~1{user_id}~1permissions/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить права администратора салона","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает список permission администратора салона."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Правила доступа:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"target "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"user_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" должен быть пользователем с "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"type_account = SALON"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и подролью "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ADMIN"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"текущий пользователь и target admin должны находиться в одном салоне"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"user_id","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID пользователя-администратора салона ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"users.id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"), права которого нужно получить."},"children":[]}]}]}],"required":true,"example":9901002}],"pointer":"/paths/~1api~1salon~1member~1{user_id}~1permissions/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/salon/member/{user_id}/permissions","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"user_id","in":"path","required":true,"example":9901002,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403","404"],"pointer":"/api/salon/member/{user_id}/permissions","href":"salon/paths/~1api~1salon~1member~1{user_id}~1permissions/get","summary":"Получить права администратора салона","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Права администратора салона успешно получены"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SalonMemberPermissionsResponse","exampleIds":["paths/~1api~1salon~1member~1{user_id}~1permissions/get/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/SalonMemberPermissionsResponse","exampleIds":["paths/~1api~1salon~1member~1{user_id}~1permissions/get/responses/200/content/application~1json/examples/ok"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректный "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"user_id"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1member~1{user_id}~1permissions/get/responses/400/content/application~1json/examples/invalid_user_id"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1member~1{user_id}~1permissions/get/responses/400/content/application~1json/examples/invalid_user_id"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1member~1{user_id}~1permissions/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1member~1{user_id}~1permissions/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Target admin находится в другом салоне или текущий пользователь не может управлять его правами"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1member~1{user_id}~1permissions/get/responses/403/content/application~1json/examples/foreign_salon"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1member~1{user_id}~1permissions/get/responses/403/content/application~1json/examples/foreign_salon"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Target user не найден как администратор салона"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1member~1{user_id}~1permissions/get/responses/404/content/application~1json/examples/salon_admin_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1member~1{user_id}~1permissions/get/responses/404/content/application~1json/examples/salon_admin_not_found"]}],"pointer":"/paths/~1api~1salon~1member~1{user_id}~1permissions/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/SalonMemberPermissionsResponse","exampleIds":["paths/~1api~1salon~1member~1{user_id}~1permissions/get/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SalonMemberPermissionsResponse","exampleIds":["paths/~1api~1salon~1member~1{user_id}~1permissions/get/responses/200/content/application~1json/examples/ok"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1member~1{user_id}~1permissions/get/responses/400/content/application~1json/examples/invalid_user_id"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1member~1{user_id}~1permissions/get/responses/400/content/application~1json/examples/invalid_user_id"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1member~1{user_id}~1permissions/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1member~1{user_id}~1permissions/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1member~1{user_id}~1permissions/get/responses/403/content/application~1json/examples/foreign_salon"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1member~1{user_id}~1permissions/get/responses/403/content/application~1json/examples/foreign_salon"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1member~1{user_id}~1permissions/get/responses/404/content/application~1json/examples/salon_admin_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1member~1{user_id}~1permissions/get/responses/404/content/application~1json/examples/salon_admin_not_found"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/salon/paths/~1api~1salon~1member~1{user_id}~1permissions/get"}],"panels":[]}]},"httpPath":"/api/salon/member/{user_id}/permissions"},{"label":"Изменить права администратора салона","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/salon/paths/~1api~1salon~1member~1{user_id}~1permissions/patch","routeSlug":"/openapi/salon/paths/~1api~1salon~1member~1{user_id}~1permissions/patch","metadata":{"seo":{"title":"Изменить права администратора салона","description":"Полностью заменяет набор permission у выбранного администратора салона."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Изменить права администратора салона","isWebhook":false,"pointer":"/paths/~1api~1salon~1member~1{user_id}~1permissions/patch","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Изменить права администратора салона","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Полностью заменяет набор permission у выбранного администратора салона."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Формат request:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"permissions"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" передаются enum-name строками, например "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SALON_PAGE_VIEW"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Правила доступа:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT с ролью "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SALON"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"target "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"user_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" должен быть пользователем с "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"type_account = SALON"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и подролью "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ADMIN"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"текущий пользователь и target admin должны находиться в одном салоне"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"user_id","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID пользователя-администратора салона ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"users.id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"), права которого нужно заменить."},"children":[]}]}]}],"required":true,"example":9901002}],"pointer":"/paths/~1api~1salon~1member~1{user_id}~1permissions/patch/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/SetSalonMemberPermissionsRequest","exampleIds":["paths/~1api~1salon~1member~1{user_id}~1permissions/patch/requestBody/content/application~1json/examples/enum_names","paths/~1api~1salon~1member~1{user_id}~1permissions/patch/requestBody/content/application~1json/examples/clear"]}},"schemaId":"components/schemas/SetSalonMemberPermissionsRequest","exampleIds":["paths/~1api~1salon~1member~1{user_id}~1permissions/patch/requestBody/content/application~1json/examples/enum_names","paths/~1api~1salon~1member~1{user_id}~1permissions/patch/requestBody/content/application~1json/examples/clear"],"pointer":"/paths/~1api~1salon~1member~1{user_id}~1permissions/patch/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PATCH","path":"/api/salon/member/{user_id}/permissions","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"user_id","in":"path","required":true,"example":9901002,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/SetSalonMemberPermissionsRequest","exampleIds":["paths/~1api~1salon~1member~1{user_id}~1permissions/patch/requestBody/content/application~1json/examples/enum_names","paths/~1api~1salon~1member~1{user_id}~1permissions/patch/requestBody/content/application~1json/examples/clear"]}},"responseCodes":["200","400","401","403","404"],"pointer":"/api/salon/member/{user_id}/permissions","href":"salon/paths/~1api~1salon~1member~1{user_id}~1permissions/patch","summary":"Изменить права администратора салона","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/SetSalonMemberPermissionsRequest","exampleIds":["paths/~1api~1salon~1member~1{user_id}~1permissions/patch/requestBody/content/application~1json/examples/enum_names","paths/~1api~1salon~1member~1{user_id}~1permissions/patch/requestBody/content/application~1json/examples/clear"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/SetSalonMemberPermissionsRequest","exampleIds":["paths/~1api~1salon~1member~1{user_id}~1permissions/patch/requestBody/content/application~1json/examples/enum_names","paths/~1api~1salon~1member~1{user_id}~1permissions/patch/requestBody/content/application~1json/examples/clear"]}},"examples":[{},{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Права администратора салона успешно заменены"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SalonMemberPermissionsResponse","exampleIds":["paths/~1api~1salon~1member~1{user_id}~1permissions/patch/responses/200/content/application~1json/examples/updated"]}},"schemaId":"components/schemas/SalonMemberPermissionsResponse","exampleIds":["paths/~1api~1salon~1member~1{user_id}~1permissions/patch/responses/200/content/application~1json/examples/updated"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректный "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"user_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", body или permission value"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1member~1{user_id}~1permissions/patch/responses/400/content/application~1json/examples/invalid_user_id","paths/~1api~1salon~1member~1{user_id}~1permissions/patch/responses/400/content/application~1json/examples/permissions_null","paths/~1api~1salon~1member~1{user_id}~1permissions/patch/responses/400/content/application~1json/examples/invalid_permission"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1member~1{user_id}~1permissions/patch/responses/400/content/application~1json/examples/invalid_user_id","paths/~1api~1salon~1member~1{user_id}~1permissions/patch/responses/400/content/application~1json/examples/permissions_null","paths/~1api~1salon~1member~1{user_id}~1permissions/patch/responses/400/content/application~1json/examples/invalid_permission"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1member~1{user_id}~1permissions/patch/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1member~1{user_id}~1permissions/patch/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Нет роли "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SALON"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" или target admin находится в другом салоне"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1member~1{user_id}~1permissions/patch/responses/403/content/application~1json/examples/forbidden_role","paths/~1api~1salon~1member~1{user_id}~1permissions/patch/responses/403/content/application~1json/examples/foreign_salon"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1member~1{user_id}~1permissions/patch/responses/403/content/application~1json/examples/forbidden_role","paths/~1api~1salon~1member~1{user_id}~1permissions/patch/responses/403/content/application~1json/examples/foreign_salon"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Target user не найден как администратор салона"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1member~1{user_id}~1permissions/patch/responses/404/content/application~1json/examples/salon_admin_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1member~1{user_id}~1permissions/patch/responses/404/content/application~1json/examples/salon_admin_not_found"]}],"pointer":"/paths/~1api~1salon~1member~1{user_id}~1permissions/patch/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/SalonMemberPermissionsResponse","exampleIds":["paths/~1api~1salon~1member~1{user_id}~1permissions/patch/responses/200/content/application~1json/examples/updated"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SalonMemberPermissionsResponse","exampleIds":["paths/~1api~1salon~1member~1{user_id}~1permissions/patch/responses/200/content/application~1json/examples/updated"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1member~1{user_id}~1permissions/patch/responses/400/content/application~1json/examples/invalid_user_id","paths/~1api~1salon~1member~1{user_id}~1permissions/patch/responses/400/content/application~1json/examples/permissions_null","paths/~1api~1salon~1member~1{user_id}~1permissions/patch/responses/400/content/application~1json/examples/invalid_permission"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1member~1{user_id}~1permissions/patch/responses/400/content/application~1json/examples/invalid_user_id","paths/~1api~1salon~1member~1{user_id}~1permissions/patch/responses/400/content/application~1json/examples/permissions_null","paths/~1api~1salon~1member~1{user_id}~1permissions/patch/responses/400/content/application~1json/examples/invalid_permission"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1member~1{user_id}~1permissions/patch/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1member~1{user_id}~1permissions/patch/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1member~1{user_id}~1permissions/patch/responses/403/content/application~1json/examples/forbidden_role","paths/~1api~1salon~1member~1{user_id}~1permissions/patch/responses/403/content/application~1json/examples/foreign_salon"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1member~1{user_id}~1permissions/patch/responses/403/content/application~1json/examples/forbidden_role","paths/~1api~1salon~1member~1{user_id}~1permissions/patch/responses/403/content/application~1json/examples/foreign_salon"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1member~1{user_id}~1permissions/patch/responses/404/content/application~1json/examples/salon_admin_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1member~1{user_id}~1permissions/patch/responses/404/content/application~1json/examples/salon_admin_not_found"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/salon/paths/~1api~1salon~1member~1{user_id}~1permissions/patch"}],"panels":[]}]},"httpPath":"/api/salon/member/{user_id}/permissions"},{"label":"Получить ссылку приглашения в салон","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/salon/paths/~1api~1salon~1invite/get","routeSlug":"/openapi/salon/paths/~1api~1salon~1invite/get","metadata":{"seo":{"title":"Получить ссылку приглашения в салон","description":"Возвращает invite-ссылку для регистрации мастера или администратора салона."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить ссылку приглашения в салон","isWebhook":false,"pointer":"/paths/~1api~1salon~1invite/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить ссылку приглашения в салон","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает invite-ссылку для регистрации мастера или администратора салона."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Backend получает или создает raw invite token в Redis по паре"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"role_in_salon + salon_role_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", после чего возвращает готовую ссылку"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"вида "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/api/auth/phone/login?invite_code={token}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" с доменом приложения."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Если ссылка для этой пары уже существует и Redis payload еще не истек,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"backend возвращает ту же ссылку и не создает новый token."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"salon_role_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - это ID сущности роли в салоне:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"при "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"role_in_salon = MASTER"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" передается "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"salon_masters.id"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"при "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"role_in_salon = ADMIN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" передается "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"salon_admins.id"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Правила валидации:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"role_in_salon"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" должен быть "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"MASTER"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" или "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ADMIN"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"salon_role_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" должен быть положительным числом"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"target entity должен существовать"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"target entity должен быть привязан к салону и пользователю"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"пользователь target entity еще не должен иметь phone"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"текущий пользователь должен иметь доступ к salon endpoints"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"role_in_salon","in":"query","schemaId":"schema_135","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Роль приглашения в салоне. Допустимы только "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"MASTER"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ADMIN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"example":"MASTER"},{"name":"salon_role_id","in":"query","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"salon_masters.id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" или "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"salon_admins.id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" в зависимости от "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"role_in_salon"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"example":15}],"pointer":"/paths/~1api~1salon~1invite/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/salon/invite","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[{"name":"role_in_salon","in":"query","required":false,"example":"MASTER","schemaId":"components/schemas/SalonInviteRoleInSalon"},{"name":"salon_role_id","in":"query","required":false,"example":15,"schemaId":"schema_97"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","404","409"],"pointer":"/api/salon/invite","href":"salon/paths/~1api~1salon~1invite/get","summary":"Получить ссылку приглашения в салон","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Ссылка приглашения успешно получена"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/GetSalonInviteLinkResponse","exampleIds":["paths/~1api~1salon~1invite/get/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/GetSalonInviteLinkResponse","exampleIds":["paths/~1api~1salon~1invite/get/responses/200/content/application~1json/examples/ok"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректные query-параметры"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1invite/get/responses/400/content/application~1json/examples/invalid_role","paths/~1api~1salon~1invite/get/responses/400/content/application~1json/examples/invalid_salon_role_id"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1invite/get/responses/400/content/application~1json/examples/invalid_role","paths/~1api~1salon~1invite/get/responses/400/content/application~1json/examples/invalid_salon_role_id"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1invite/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1invite/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Target entity для приглашения не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1invite/get/responses/404/content/application~1json/examples/target_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1invite/get/responses/404/content/application~1json/examples/target_not_found"]},{"code":"409","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Target entity конфликтует с текущим состоянием данных"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1invite/get/responses/409/content/application~1json/examples/target_salon_not_found","paths/~1api~1salon~1invite/get/responses/409/content/application~1json/examples/target_user_not_found","paths/~1api~1salon~1invite/get/responses/409/content/application~1json/examples/target_already_registered"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1invite/get/responses/409/content/application~1json/examples/target_salon_not_found","paths/~1api~1salon~1invite/get/responses/409/content/application~1json/examples/target_user_not_found","paths/~1api~1salon~1invite/get/responses/409/content/application~1json/examples/target_already_registered"]}],"pointer":"/paths/~1api~1salon~1invite/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/GetSalonInviteLinkResponse","exampleIds":["paths/~1api~1salon~1invite/get/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/GetSalonInviteLinkResponse","exampleIds":["paths/~1api~1salon~1invite/get/responses/200/content/application~1json/examples/ok"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1invite/get/responses/400/content/application~1json/examples/invalid_role","paths/~1api~1salon~1invite/get/responses/400/content/application~1json/examples/invalid_salon_role_id"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1invite/get/responses/400/content/application~1json/examples/invalid_role","paths/~1api~1salon~1invite/get/responses/400/content/application~1json/examples/invalid_salon_role_id"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1invite/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1invite/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1invite/get/responses/404/content/application~1json/examples/target_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1invite/get/responses/404/content/application~1json/examples/target_not_found"]}}},{"code":"409","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1invite/get/responses/409/content/application~1json/examples/target_salon_not_found","paths/~1api~1salon~1invite/get/responses/409/content/application~1json/examples/target_user_not_found","paths/~1api~1salon~1invite/get/responses/409/content/application~1json/examples/target_already_registered"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1invite/get/responses/409/content/application~1json/examples/target_salon_not_found","paths/~1api~1salon~1invite/get/responses/409/content/application~1json/examples/target_user_not_found","paths/~1api~1salon~1invite/get/responses/409/content/application~1json/examples/target_already_registered"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/salon/paths/~1api~1salon~1invite/get"}],"panels":[]}]},"httpPath":"/api/salon/invite"},{"label":"Получить причины удаления мастера салона","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/salon/paths/~1api~1salon~1master~1reasons~1deletion/get","routeSlug":"/openapi/salon/paths/~1api~1salon~1master~1reasons~1deletion/get","metadata":{"seo":{"title":"Получить причины удаления мастера салона","description":"Доступно владельцу или администратору с разрешением STAFF_DELETE. Пункт Другое добавляет frontend."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить причины удаления мастера салона","isWebhook":false,"pointer":"/paths/~1api~1salon~1master~1reasons~1deletion/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить причины удаления мастера салона","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступно владельцу или администратору с разрешением "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"STAFF_DELETE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Пункт "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Другое"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" добавляет frontend."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/salon/master/reasons/deletion","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","401","403"],"pointer":"/api/salon/master/reasons/deletion","href":"salon/paths/~1api~1salon~1master~1reasons~1deletion/get","summary":"Получить причины удаления мастера салона","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Salon master deletion reasons retrieved successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ReferenceStringListApiResponse","exampleIds":["paths/~1api~1salon~1master~1reasons~1deletion/get/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/ReferenceStringListApiResponse","exampleIds":["paths/~1api~1salon~1master~1reasons~1deletion/get/responses/200/content/application~1json/example"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master~1reasons~1deletion/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master~1reasons~1deletion/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master~1reasons~1deletion/get/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master~1reasons~1deletion/get/responses/403/content/application~1json/examples/forbidden"]}],"pointer":"/paths/~1api~1salon~1master~1reasons~1deletion/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/ReferenceStringListApiResponse","exampleIds":["paths/~1api~1salon~1master~1reasons~1deletion/get/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ReferenceStringListApiResponse","exampleIds":["paths/~1api~1salon~1master~1reasons~1deletion/get/responses/200/content/application~1json/example"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master~1reasons~1deletion/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master~1reasons~1deletion/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master~1reasons~1deletion/get/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master~1reasons~1deletion/get/responses/403/content/application~1json/examples/forbidden"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/salon/paths/~1api~1salon~1master~1reasons~1deletion/get"}],"panels":[]}]},"httpPath":"/api/salon/master/reasons/deletion"},{"label":"Получить причины удаления администратора салона","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/salon/paths/~1api~1salon~1admin~1reasons~1deletion/get","routeSlug":"/openapi/salon/paths/~1api~1salon~1admin~1reasons~1deletion/get","metadata":{"seo":{"title":"Получить причины удаления администратора салона","description":"Доступно только владельцу салона. Пункт Другое добавляет frontend."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить причины удаления администратора салона","isWebhook":false,"pointer":"/paths/~1api~1salon~1admin~1reasons~1deletion/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить причины удаления администратора салона","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступно только владельцу салона. Пункт "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Другое"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" добавляет frontend."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/salon/admin/reasons/deletion","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","401","403"],"pointer":"/api/salon/admin/reasons/deletion","href":"salon/paths/~1api~1salon~1admin~1reasons~1deletion/get","summary":"Получить причины удаления администратора салона","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Salon administrator deletion reasons retrieved successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ReferenceStringListApiResponse","exampleIds":["paths/~1api~1salon~1admin~1reasons~1deletion/get/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/ReferenceStringListApiResponse","exampleIds":["paths/~1api~1salon~1admin~1reasons~1deletion/get/responses/200/content/application~1json/example"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1admin~1reasons~1deletion/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1admin~1reasons~1deletion/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1admin~1reasons~1deletion/get/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1admin~1reasons~1deletion/get/responses/403/content/application~1json/examples/forbidden"]}],"pointer":"/paths/~1api~1salon~1admin~1reasons~1deletion/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/ReferenceStringListApiResponse","exampleIds":["paths/~1api~1salon~1admin~1reasons~1deletion/get/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ReferenceStringListApiResponse","exampleIds":["paths/~1api~1salon~1admin~1reasons~1deletion/get/responses/200/content/application~1json/example"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1admin~1reasons~1deletion/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1admin~1reasons~1deletion/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1admin~1reasons~1deletion/get/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1admin~1reasons~1deletion/get/responses/403/content/application~1json/examples/forbidden"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/salon/paths/~1api~1salon~1admin~1reasons~1deletion/get"}],"panels":[]}]},"httpPath":"/api/salon/admin/reasons/deletion"},{"label":"Поставить мастера салона на отложенное удаление","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/salon/paths/~1api~1salon~1master~1{salonmasterid}~1deletion/post","routeSlug":"/openapi/salon/paths/~1api~1salon~1master~1{salonmasterid}~1deletion/post","metadata":{"seo":{"title":"Поставить мастера салона на отложенное удаление","description":"Устанавливает PENDING_DELETE на семь дней. Доступно владельцу или администратору с STAFF_DELETE того же салона."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Поставить мастера салона на отложенное удаление","isWebhook":false,"pointer":"/paths/~1api~1salon~1master~1{salonMasterId}~1deletion/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Поставить мастера салона на отложенное удаление","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Устанавливает "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"PENDING_DELETE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" на семь дней. Доступно владельцу или администратору с "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"STAFF_DELETE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" того же салона."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"salonMasterId","in":"path","schemaId":"schema_97","required":true}],"pointer":"/paths/~1api~1salon~1master~1{salonMasterId}~1deletion/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/ScheduleSalonMemberDeletionRequest"}},"schemaId":"components/schemas/ScheduleSalonMemberDeletionRequest","pointer":"/paths/~1api~1salon~1master~1{salonMasterId}~1deletion/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/salon/master/{salonMasterId}/deletion","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"salonMasterId","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/ScheduleSalonMemberDeletionRequest"}},"responseCodes":["200","400","401","403","404","409"],"pointer":"/api/salon/master/{salonMasterId}/deletion","href":"salon/paths/~1api~1salon~1master~1{salonmasterid}~1deletion/post","summary":"Поставить мастера салона на отложенное удаление","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/ScheduleSalonMemberDeletionRequest","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/ScheduleSalonMemberDeletionRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Salon master deletion scheduled successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SalonMemberDeletionScheduleResponse","exampleIds":["paths/~1api~1salon~1master~1{salonMasterId}~1deletion/post/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/SalonMemberDeletionScheduleResponse","exampleIds":["paths/~1api~1salon~1master~1{salonMasterId}~1deletion/post/responses/200/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"invalid_body"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — ID не является положительным int64, отсутствует JSON-тело,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"указан неподдерживаемый Content-Type, JSON некорректен либо "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"reason"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" отсутствует,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"не является строкой, пуст после trim или длиннее 500 символов."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master~1{salonMasterId}~1deletion/post/responses/400/content/application~1json/examples/invalid_reason","paths/~1api~1salon~1master~1{salonMasterId}~1deletion/post/responses/400/content/application~1json/examples/invalid_json"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master~1{salonMasterId}~1deletion/post/responses/400/content/application~1json/examples/invalid_reason","paths/~1api~1salon~1master~1{salonMasterId}~1deletion/post/responses/400/content/application~1json/examples/invalid_json"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"unauthorized"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — JWT отсутствует, истёк или невалиден."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master~1{salonMasterId}~1deletion/post/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master~1{salonMasterId}~1deletion/post/responses/401/content/application~1json/example"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"salon_permission_denied"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — вызывающий пользователь не является владельцем или"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"администратором с "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"STAFF_DELETE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"forbidden"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — мастер относится к другому салону."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master~1{salonMasterId}~1deletion/post/responses/403/content/application~1json/examples/permission_denied","paths/~1api~1salon~1master~1{salonMasterId}~1deletion/post/responses/403/content/application~1json/examples/another_salon"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master~1{salonMasterId}~1deletion/post/responses/403/content/application~1json/examples/permission_denied","paths/~1api~1salon~1master~1{salonMasterId}~1deletion/post/responses/403/content/application~1json/examples/another_salon"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"not_found"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — membership не найден, имеет неверный тип или пользователь уже удалён."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master~1{salonMasterId}~1deletion/post/responses/404/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master~1{salonMasterId}~1deletion/post/responses/404/content/application~1json/example"]},{"code":"409","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"member_deletion_already_scheduled"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — мастер уже находится в "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"PENDING_DELETE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":";"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"member_deletion_blocked"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — у мастера есть запись "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"BOOKED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":";"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"object_modified_by_another_thread"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — membership конкурентно изменён."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master~1{salonMasterId}~1deletion/post/responses/409/content/application~1json/examples/already_scheduled","paths/~1api~1salon~1master~1{salonMasterId}~1deletion/post/responses/409/content/application~1json/examples/booked_records","paths/~1api~1salon~1master~1{salonMasterId}~1deletion/post/responses/409/content/application~1json/examples/concurrent_modification"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master~1{salonMasterId}~1deletion/post/responses/409/content/application~1json/examples/already_scheduled","paths/~1api~1salon~1master~1{salonMasterId}~1deletion/post/responses/409/content/application~1json/examples/booked_records","paths/~1api~1salon~1master~1{salonMasterId}~1deletion/post/responses/409/content/application~1json/examples/concurrent_modification"]}],"pointer":"/paths/~1api~1salon~1master~1{salonMasterId}~1deletion/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/SalonMemberDeletionScheduleResponse","exampleIds":["paths/~1api~1salon~1master~1{salonMasterId}~1deletion/post/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SalonMemberDeletionScheduleResponse","exampleIds":["paths/~1api~1salon~1master~1{salonMasterId}~1deletion/post/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master~1{salonMasterId}~1deletion/post/responses/400/content/application~1json/examples/invalid_reason","paths/~1api~1salon~1master~1{salonMasterId}~1deletion/post/responses/400/content/application~1json/examples/invalid_json"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master~1{salonMasterId}~1deletion/post/responses/400/content/application~1json/examples/invalid_reason","paths/~1api~1salon~1master~1{salonMasterId}~1deletion/post/responses/400/content/application~1json/examples/invalid_json"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master~1{salonMasterId}~1deletion/post/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master~1{salonMasterId}~1deletion/post/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master~1{salonMasterId}~1deletion/post/responses/403/content/application~1json/examples/permission_denied","paths/~1api~1salon~1master~1{salonMasterId}~1deletion/post/responses/403/content/application~1json/examples/another_salon"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master~1{salonMasterId}~1deletion/post/responses/403/content/application~1json/examples/permission_denied","paths/~1api~1salon~1master~1{salonMasterId}~1deletion/post/responses/403/content/application~1json/examples/another_salon"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master~1{salonMasterId}~1deletion/post/responses/404/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master~1{salonMasterId}~1deletion/post/responses/404/content/application~1json/example"]}}},{"code":"409","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master~1{salonMasterId}~1deletion/post/responses/409/content/application~1json/examples/already_scheduled","paths/~1api~1salon~1master~1{salonMasterId}~1deletion/post/responses/409/content/application~1json/examples/booked_records","paths/~1api~1salon~1master~1{salonMasterId}~1deletion/post/responses/409/content/application~1json/examples/concurrent_modification"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1master~1{salonMasterId}~1deletion/post/responses/409/content/application~1json/examples/already_scheduled","paths/~1api~1salon~1master~1{salonMasterId}~1deletion/post/responses/409/content/application~1json/examples/booked_records","paths/~1api~1salon~1master~1{salonMasterId}~1deletion/post/responses/409/content/application~1json/examples/concurrent_modification"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/salon/paths/~1api~1salon~1master~1{salonmasterid}~1deletion/post"}],"panels":[]}]},"httpPath":"/api/salon/master/{salonMasterId}/deletion"},{"label":"Поставить администратора салона на отложенное удаление","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/salon/paths/~1api~1salon~1admin~1{salonadminid}~1deletion/post","routeSlug":"/openapi/salon/paths/~1api~1salon~1admin~1{salonadminid}~1deletion/post","metadata":{"seo":{"title":"Поставить администратора салона на отложенное удаление","description":"Устанавливает PENDING_DELETE на семь дней. Доступно только владельцу того же салона."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Поставить администратора салона на отложенное удаление","isWebhook":false,"pointer":"/paths/~1api~1salon~1admin~1{salonAdminId}~1deletion/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Поставить администратора салона на отложенное удаление","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Устанавливает "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"PENDING_DELETE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" на семь дней. Доступно только владельцу того же салона."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"salonAdminId","in":"path","schemaId":"schema_97","required":true}],"pointer":"/paths/~1api~1salon~1admin~1{salonAdminId}~1deletion/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/ScheduleSalonMemberDeletionRequest"}},"schemaId":"components/schemas/ScheduleSalonMemberDeletionRequest","pointer":"/paths/~1api~1salon~1admin~1{salonAdminId}~1deletion/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/salon/admin/{salonAdminId}/deletion","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"salonAdminId","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/ScheduleSalonMemberDeletionRequest"}},"responseCodes":["200","400","401","403","404","409"],"pointer":"/api/salon/admin/{salonAdminId}/deletion","href":"salon/paths/~1api~1salon~1admin~1{salonadminid}~1deletion/post","summary":"Поставить администратора салона на отложенное удаление","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/ScheduleSalonMemberDeletionRequest","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/ScheduleSalonMemberDeletionRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Salon administrator deletion scheduled successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SalonMemberDeletionScheduleResponse","exampleIds":["paths/~1api~1salon~1admin~1{salonAdminId}~1deletion/post/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/SalonMemberDeletionScheduleResponse","exampleIds":["paths/~1api~1salon~1admin~1{salonAdminId}~1deletion/post/responses/200/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"invalid_body"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — ID не является положительным int64, отсутствует JSON-тело,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"указан неподдерживаемый Content-Type, JSON некорректен либо "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"reason"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" отсутствует,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"не является строкой, пуст после trim или длиннее 500 символов."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1admin~1{salonAdminId}~1deletion/post/responses/400/content/application~1json/examples/invalid_reason","paths/~1api~1salon~1admin~1{salonAdminId}~1deletion/post/responses/400/content/application~1json/examples/invalid_json"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1admin~1{salonAdminId}~1deletion/post/responses/400/content/application~1json/examples/invalid_reason","paths/~1api~1salon~1admin~1{salonAdminId}~1deletion/post/responses/400/content/application~1json/examples/invalid_json"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"unauthorized"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — JWT отсутствует, истёк или невалиден."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1admin~1{salonAdminId}~1deletion/post/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1admin~1{salonAdminId}~1deletion/post/responses/401/content/application~1json/example"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"salon_permission_denied"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — вызывающий пользователь не является владельцем салона;"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"forbidden"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — администратор относится к другому салону."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1admin~1{salonAdminId}~1deletion/post/responses/403/content/application~1json/examples/permission_denied","paths/~1api~1salon~1admin~1{salonAdminId}~1deletion/post/responses/403/content/application~1json/examples/another_salon"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1admin~1{salonAdminId}~1deletion/post/responses/403/content/application~1json/examples/permission_denied","paths/~1api~1salon~1admin~1{salonAdminId}~1deletion/post/responses/403/content/application~1json/examples/another_salon"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"not_found"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — membership не найден, имеет неверный тип или пользователь уже удалён."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1admin~1{salonAdminId}~1deletion/post/responses/404/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1admin~1{salonAdminId}~1deletion/post/responses/404/content/application~1json/example"]},{"code":"409","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"member_deletion_already_scheduled"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — администратор уже находится в "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"PENDING_DELETE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":";"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"object_modified_by_another_thread"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — membership конкурентно изменён."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1admin~1{salonAdminId}~1deletion/post/responses/409/content/application~1json/examples/already_scheduled","paths/~1api~1salon~1admin~1{salonAdminId}~1deletion/post/responses/409/content/application~1json/examples/concurrent_modification"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1admin~1{salonAdminId}~1deletion/post/responses/409/content/application~1json/examples/already_scheduled","paths/~1api~1salon~1admin~1{salonAdminId}~1deletion/post/responses/409/content/application~1json/examples/concurrent_modification"]}],"pointer":"/paths/~1api~1salon~1admin~1{salonAdminId}~1deletion/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/SalonMemberDeletionScheduleResponse","exampleIds":["paths/~1api~1salon~1admin~1{salonAdminId}~1deletion/post/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SalonMemberDeletionScheduleResponse","exampleIds":["paths/~1api~1salon~1admin~1{salonAdminId}~1deletion/post/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1admin~1{salonAdminId}~1deletion/post/responses/400/content/application~1json/examples/invalid_reason","paths/~1api~1salon~1admin~1{salonAdminId}~1deletion/post/responses/400/content/application~1json/examples/invalid_json"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1admin~1{salonAdminId}~1deletion/post/responses/400/content/application~1json/examples/invalid_reason","paths/~1api~1salon~1admin~1{salonAdminId}~1deletion/post/responses/400/content/application~1json/examples/invalid_json"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1admin~1{salonAdminId}~1deletion/post/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1admin~1{salonAdminId}~1deletion/post/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1admin~1{salonAdminId}~1deletion/post/responses/403/content/application~1json/examples/permission_denied","paths/~1api~1salon~1admin~1{salonAdminId}~1deletion/post/responses/403/content/application~1json/examples/another_salon"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1admin~1{salonAdminId}~1deletion/post/responses/403/content/application~1json/examples/permission_denied","paths/~1api~1salon~1admin~1{salonAdminId}~1deletion/post/responses/403/content/application~1json/examples/another_salon"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1admin~1{salonAdminId}~1deletion/post/responses/404/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1admin~1{salonAdminId}~1deletion/post/responses/404/content/application~1json/example"]}}},{"code":"409","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1admin~1{salonAdminId}~1deletion/post/responses/409/content/application~1json/examples/already_scheduled","paths/~1api~1salon~1admin~1{salonAdminId}~1deletion/post/responses/409/content/application~1json/examples/concurrent_modification"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1admin~1{salonAdminId}~1deletion/post/responses/409/content/application~1json/examples/already_scheduled","paths/~1api~1salon~1admin~1{salonAdminId}~1deletion/post/responses/409/content/application~1json/examples/concurrent_modification"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/salon/paths/~1api~1salon~1admin~1{salonadminid}~1deletion/post"}],"panels":[]}]},"httpPath":"/api/salon/admin/{salonAdminId}/deletion"},{"label":"Получить причины удаления сотрудника салона","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/salon/paths/~1api~1salon~1member~1reasons~1deletion/get","routeSlug":"/openapi/salon/paths/~1api~1salon~1member~1reasons~1deletion/get","metadata":{"seo":{"title":"Получить причины удаления сотрудника салона","description":"Возвращает общий список причин удаления мастера или администратора салона.Пункт Другое не возвращается и добавляется клиентом отдельно."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить причины удаления сотрудника салона","isWebhook":false,"pointer":"/paths/~1api~1salon~1member~1reasons~1deletion/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить причины удаления сотрудника салона","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает общий список причин удаления мастера или администратора салона."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Пункт "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Другое"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" не возвращается и добавляется клиентом отдельно."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/salon/member/reasons/deletion","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200"],"pointer":"/api/salon/member/reasons/deletion","href":"salon/paths/~1api~1salon~1member~1reasons~1deletion/get","summary":"Получить причины удаления сотрудника салона"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Причины удаления сотрудника салона успешно получены"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ReferenceStringListApiResponse","exampleIds":["paths/~1api~1salon~1member~1reasons~1deletion/get/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/ReferenceStringListApiResponse","exampleIds":["paths/~1api~1salon~1member~1reasons~1deletion/get/responses/200/content/application~1json/examples/ok"]}],"pointer":"/paths/~1api~1salon~1member~1reasons~1deletion/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/ReferenceStringListApiResponse","exampleIds":["paths/~1api~1salon~1member~1reasons~1deletion/get/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ReferenceStringListApiResponse","exampleIds":["paths/~1api~1salon~1member~1reasons~1deletion/get/responses/200/content/application~1json/examples/ok"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/salon/paths/~1api~1salon~1member~1reasons~1deletion/get"}],"panels":[]}]},"httpPath":"/api/salon/member/reasons/deletion"},{"label":"Получить причины временного закрытия записи сотрудника салона","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/salon/paths/~1api~1salon~1member~1reasons~1booking-closure/get","routeSlug":"/openapi/salon/paths/~1api~1salon~1member~1reasons~1booking-closure/get","metadata":{"seo":{"title":"Получить причины временного закрытия записи сотрудника салона","description":"Возвращает общий список причин временного закрытия записи мастераили изменения рабочего статуса администратора салона.Пункт Другое не возвращается и добавляется клиентом отдельно."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить причины временного закрытия записи сотрудника салона","isWebhook":false,"pointer":"/paths/~1api~1salon~1member~1reasons~1booking-closure/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить причины временного закрытия записи сотрудника салона","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает общий список причин временного закрытия записи мастера"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"или изменения рабочего статуса администратора салона."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Пункт "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Другое"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" не возвращается и добавляется клиентом отдельно."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/salon/member/reasons/booking-closure","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200"],"pointer":"/api/salon/member/reasons/booking-closure","href":"salon/paths/~1api~1salon~1member~1reasons~1booking-closure/get","summary":"Получить причины временного закрытия записи сотрудника салона"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Причины закрытия записи сотрудника салона успешно получены"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ReferenceStringListApiResponse","exampleIds":["paths/~1api~1salon~1member~1reasons~1booking-closure/get/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/ReferenceStringListApiResponse","exampleIds":["paths/~1api~1salon~1member~1reasons~1booking-closure/get/responses/200/content/application~1json/examples/ok"]}],"pointer":"/paths/~1api~1salon~1member~1reasons~1booking-closure/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/ReferenceStringListApiResponse","exampleIds":["paths/~1api~1salon~1member~1reasons~1booking-closure/get/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ReferenceStringListApiResponse","exampleIds":["paths/~1api~1salon~1member~1reasons~1booking-closure/get/responses/200/content/application~1json/examples/ok"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/salon/paths/~1api~1salon~1member~1reasons~1booking-closure/get"}],"panels":[]}]},"httpPath":"/api/salon/member/reasons/booking-closure"}],"content":{"contentType":"group","meta":{"name":"Салон"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Салон","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Управление салоном и участниками салона."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/api/salon/{id_salon}","summary":"Получить салон","prefix":{"name":"get","color":"get"},"badges":[],"link":"/salon/paths/~1api~1salon~1{id_salon}/get","deprecated":false},{"title":"/api/salon","summary":"Получить профиль текущего салона","prefix":{"name":"get","color":"get"},"badges":[],"link":"/salon/paths/~1api~1salon/get","deprecated":false},{"title":"/api/salon","summary":"Удалить аккаунт салона и всех работников","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/salon/paths/~1api~1salon/delete","deprecated":false},{"title":"/api/salon","summary":"Заполнить или изменить салон","prefix":{"name":"patch","color":"patch"},"badges":[],"link":"/salon/paths/~1api~1salon/patch","deprecated":false},{"title":"/api/salon/members","summary":"Получить всех сотрудников салона","prefix":{"name":"get","color":"get"},"badges":[],"link":"/salon/paths/~1api~1salon~1members/get","deprecated":false},{"title":"/api/salon/members/{targetUserId}/deactivate","summary":"Временно деактивировать сотрудника салона","prefix":{"name":"post","color":"post"},"badges":[],"link":"/salon/paths/~1api~1salon~1members~1{targetuserid}~1deactivate/post","deprecated":false},{"title":"/api/salon/masters","summary":"Получить всех мастеров салона","prefix":{"name":"get","color":"get"},"badges":[],"link":"/salon/paths/~1api~1salon~1masters/get","deprecated":false},{"title":"/api/salon/master","summary":"Создать мастера салона","prefix":{"name":"post","color":"post"},"badges":[],"link":"/salon/paths/~1api~1salon~1master/post","deprecated":false},{"title":"/api/salon/master/{salon_master_id}","summary":"Получить мастера салона по user_id","prefix":{"name":"get","color":"get"},"badges":[],"link":"/salon/paths/~1api~1salon~1master~1{salon_master_id}/get","deprecated":false},{"title":"/api/salon/master/{salon_master_id}","summary":"Изменить мастера салона","prefix":{"name":"patch","color":"patch"},"badges":[],"link":"/salon/paths/~1api~1salon~1master~1{salon_master_id}/patch","deprecated":false},{"title":"/api/salon/master/{salon_master_id}","summary":"Удалить аккаунт мастера салона","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/salon/paths/~1api~1salon~1master~1{salon_master_id}/delete","deprecated":false},{"title":"/api/salon/admin","summary":"Создать администратора салона","prefix":{"name":"post","color":"post"},"badges":[],"link":"/salon/paths/~1api~1salon~1admin/post","deprecated":false},{"title":"/api/salon/admin/{salon_admin_id}","summary":"Получить администратора салона по user_id","prefix":{"name":"get","color":"get"},"badges":[],"link":"/salon/paths/~1api~1salon~1admin~1{salon_admin_id}/get","deprecated":false},{"title":"/api/salon/admin/{salon_admin_id}","summary":"Изменить администратора салона","prefix":{"name":"patch","color":"patch"},"badges":[],"link":"/salon/paths/~1api~1salon~1admin~1{salon_admin_id}/patch","deprecated":false},{"title":"/api/salon/admin/{salon_admin_id}","summary":"Удалить администратора салона","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/salon/paths/~1api~1salon~1admin~1{salon_admin_id}/delete","deprecated":false},{"title":"/api/salon/my/permissions","summary":"Получить свои права администратора салона","prefix":{"name":"get","color":"get"},"badges":[],"link":"/salon/paths/~1api~1salon~1my~1permissions/get","deprecated":false},{"title":"/api/salon/member/{user_id}/permissions","summary":"Получить права администратора салона","prefix":{"name":"get","color":"get"},"badges":[],"link":"/salon/paths/~1api~1salon~1member~1{user_id}~1permissions/get","deprecated":false},{"title":"/api/salon/member/{user_id}/permissions","summary":"Изменить права администратора салона","prefix":{"name":"patch","color":"patch"},"badges":[],"link":"/salon/paths/~1api~1salon~1member~1{user_id}~1permissions/patch","deprecated":false},{"title":"/api/salon/invite","summary":"Получить ссылку приглашения в салон","prefix":{"name":"get","color":"get"},"badges":[],"link":"/salon/paths/~1api~1salon~1invite/get","deprecated":false},{"title":"/api/salon/master/reasons/deletion","summary":"Получить причины удаления мастера салона","prefix":{"name":"get","color":"get"},"badges":[],"link":"/salon/paths/~1api~1salon~1master~1reasons~1deletion/get","deprecated":false},{"title":"/api/salon/admin/reasons/deletion","summary":"Получить причины удаления администратора салона","prefix":{"name":"get","color":"get"},"badges":[],"link":"/salon/paths/~1api~1salon~1admin~1reasons~1deletion/get","deprecated":false},{"title":"/api/salon/master/{salonMasterId}/deletion","summary":"Поставить мастера салона на отложенное удаление","prefix":{"name":"post","color":"post"},"badges":[],"link":"/salon/paths/~1api~1salon~1master~1{salonmasterid}~1deletion/post","deprecated":false},{"title":"/api/salon/admin/{salonAdminId}/deletion","summary":"Поставить администратора салона на отложенное удаление","prefix":{"name":"post","color":"post"},"badges":[],"link":"/salon/paths/~1api~1salon~1admin~1{salonadminid}~1deletion/post","deprecated":false},{"title":"/api/salon/member/reasons/deletion","summary":"Получить причины удаления сотрудника салона","prefix":{"name":"get","color":"get"},"badges":[],"link":"/salon/paths/~1api~1salon~1member~1reasons~1deletion/get","deprecated":false},{"title":"/api/salon/member/reasons/booking-closure","summary":"Получить причины временного закрытия записи сотрудника салона","prefix":{"name":"get","color":"get"},"badges":[],"link":"/salon/paths/~1api~1salon~1member~1reasons~1booking-closure/get","deprecated":false}]}]}]}]}},{"type":"group","label":"Календарь — рабочее время","link":"/openapi/kalendar-rabochee-vremya","routeSlug":"/openapi/kalendar-rabochee-vremya","items":[{"label":"Получить рабочее время мастера","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/kalendar-rabochee-vremya/paths/~1api~1calendar~1master~1{id}~1work-time/get","routeSlug":"/openapi/kalendar-rabochee-vremya/paths/~1api~1calendar~1master~1{id}~1work-time/get","metadata":{"seo":{"title":"Получить рабочее время мастера","description":"Возвращает рабочее время мастера на указанную дату."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить рабочее время мастера","isWebhook":false,"pointer":"/paths/~1api~1calendar~1master~1{id}~1work-time/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить рабочее время мастера","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает рабочее время мастера на указанную дату."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Если на дату нет рабочего интервала, "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"is_working"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" будет "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"false"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", а "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"start_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"end_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" будут "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"обязателен path-параметр "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"обязателен query-параметр "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"date"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" в формате "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"нельзя получать рабочее время за прошедшие даты"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1calendar~1master~1{id}~1work-time/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"date","in":"query","schemaId":"schema_136","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Дата, для которой нужно получить рабочее время."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1calendar~1master~1{id}~1work-time/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/calendar/master/{id}/work-time","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_97"}],"query":[{"name":"date","in":"query","required":true,"example":"2026-05-11","schemaId":"schema_136"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","404"],"pointer":"/api/calendar/master/{id}/work-time","href":"kalendar-rabochee-vremya/paths/~1api~1calendar~1master~1{id}~1work-time/get","summary":"Получить рабочее время мастера","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Рабочее время успешно получено"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/GetMasterWorkTimeResponse","exampleIds":["paths/~1api~1calendar~1master~1{id}~1work-time/get/responses/200/content/application~1json/examples/working","paths/~1api~1calendar~1master~1{id}~1work-time/get/responses/200/content/application~1json/examples/not_working"]}},"schemaId":"components/schemas/GetMasterWorkTimeResponse","exampleIds":["paths/~1api~1calendar~1master~1{id}~1work-time/get/responses/200/content/application~1json/examples/working","paths/~1api~1calendar~1master~1{id}~1work-time/get/responses/200/content/application~1json/examples/not_working"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректная дата запроса"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1master~1{id}~1work-time/get/responses/400/content/application~1json/examples/past_date"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1master~1{id}~1work-time/get/responses/400/content/application~1json/examples/past_date"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1master~1{id}~1work-time/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1master~1{id}~1work-time/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Мастер не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1master~1{id}~1work-time/get/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1master~1{id}~1work-time/get/responses/404/content/application~1json/examples/not_found"]}],"pointer":"/paths/~1api~1calendar~1master~1{id}~1work-time/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/GetMasterWorkTimeResponse","exampleIds":["paths/~1api~1calendar~1master~1{id}~1work-time/get/responses/200/content/application~1json/examples/working","paths/~1api~1calendar~1master~1{id}~1work-time/get/responses/200/content/application~1json/examples/not_working"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/GetMasterWorkTimeResponse","exampleIds":["paths/~1api~1calendar~1master~1{id}~1work-time/get/responses/200/content/application~1json/examples/working","paths/~1api~1calendar~1master~1{id}~1work-time/get/responses/200/content/application~1json/examples/not_working"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1master~1{id}~1work-time/get/responses/400/content/application~1json/examples/past_date"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1master~1{id}~1work-time/get/responses/400/content/application~1json/examples/past_date"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1master~1{id}~1work-time/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1master~1{id}~1work-time/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1master~1{id}~1work-time/get/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1master~1{id}~1work-time/get/responses/404/content/application~1json/examples/not_found"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/kalendar-rabochee-vremya/paths/~1api~1calendar~1master~1{id}~1work-time/get"}],"panels":[]}]},"httpPath":"/api/calendar/master/{id}/work-time"},{"label":"Установить календарь текущего пользователя на указанную дату","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/kalendar-rabochee-vremya/paths/~1api~1calendar/post","routeSlug":"/openapi/kalendar-rabochee-vremya/paths/~1api~1calendar/post","metadata":{"seo":{"title":"Установить календарь текущего пользователя на указанную дату","description":"Устанавливает временной интервал текущего авторизованного пользователя на указанную дату."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Установить календарь текущего пользователя на указанную дату","isWebhook":false,"pointer":"/paths/~1api~1calendar/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Установить календарь текущего пользователя на указанную дату","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Устанавливает временной интервал текущего авторизованного пользователя на указанную дату."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Дата передаётся в теле запроса в поле "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"date"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Если "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"time_interval"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" равен "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":","},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"календарь на эту дату очищается."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/CalendarBody","exampleIds":["paths/~1api~1calendar/post/requestBody/content/application~1json/examples/daySchedule","paths/~1api~1calendar/post/requestBody/content/application~1json/examples/emptyDay"]}},"schemaId":"components/schemas/CalendarBody","exampleIds":["paths/~1api~1calendar/post/requestBody/content/application~1json/examples/daySchedule","paths/~1api~1calendar/post/requestBody/content/application~1json/examples/emptyDay"],"pointer":"/paths/~1api~1calendar/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/calendar","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/CalendarBody","exampleIds":["paths/~1api~1calendar/post/requestBody/content/application~1json/examples/daySchedule","paths/~1api~1calendar/post/requestBody/content/application~1json/examples/emptyDay"]}},"responseCodes":["200","400","401","403","409"],"pointer":"/api/calendar","href":"kalendar-rabochee-vremya/paths/~1api~1calendar/post","summary":"Установить календарь текущего пользователя на указанную дату","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/CalendarBody","exampleIds":["paths/~1api~1calendar/post/requestBody/content/application~1json/examples/daySchedule","paths/~1api~1calendar/post/requestBody/content/application~1json/examples/emptyDay"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/CalendarBody","exampleIds":["paths/~1api~1calendar/post/requestBody/content/application~1json/examples/daySchedule","paths/~1api~1calendar/post/requestBody/content/application~1json/examples/emptyDay"]}},"examples":[{},{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Календарь на дату успешно сохранён"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SetCalendarResponse"}},"schemaId":"components/schemas/SetCalendarResponse"},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1calendar/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1calendar/post/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1calendar/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1calendar/post/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar/post/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar/post/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar/post/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar/post/responses/403/content/application~1json/examples/forbidden"]},{"code":"409","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Новое расписание конфликтует с существующими записями"},"children":[]}]}]}]}],"pointer":"/paths/~1api~1calendar/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/SetCalendarResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SetCalendarResponse"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1calendar/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1calendar/post/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1calendar/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1calendar/post/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar/post/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar/post/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar/post/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar/post/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"409"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/kalendar-rabochee-vremya/paths/~1api~1calendar/post"}],"panels":[]}]},"httpPath":"/api/calendar"},{"label":"Получить календарь текущего пользователя на указанную дату","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/kalendar-rabochee-vremya/paths/~1api~1calendar~1{date}/get","routeSlug":"/openapi/kalendar-rabochee-vremya/paths/~1api~1calendar~1{date}/get","metadata":{"seo":{"title":"Получить календарь текущего пользователя на указанную дату","description":"Возвращает календарь текущего авторизованного пользователя для конкретной даты."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить календарь текущего пользователя на указанную дату","isWebhook":false,"pointer":"/paths/~1api~1calendar~1{date}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить календарь текущего пользователя на указанную дату","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает календарь текущего авторизованного пользователя для конкретной даты."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"обязателен path-параметр "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"date"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" в формате "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"нельзя получать календарь за прошедшие даты"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"date","in":"path","schemaId":"schema_137","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Дата, для которой нужно получить временной интервал."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1calendar~1{date}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/calendar/{date}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"date","in":"path","required":true,"example":"2026-04-01","schemaId":"schema_137"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401"],"pointer":"/api/calendar/{date}","href":"kalendar-rabochee-vremya/paths/~1api~1calendar~1{date}/get","summary":"Получить календарь текущего пользователя на указанную дату","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Календарь успешно получен"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/GetCalendarResponse","exampleIds":["paths/~1api~1calendar~1{date}/get/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/GetCalendarResponse","exampleIds":["paths/~1api~1calendar~1{date}/get/responses/200/content/application~1json/examples/ok"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректная дата запроса"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1{date}/get/responses/400/content/application~1json/examples/past_date"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1{date}/get/responses/400/content/application~1json/examples/past_date"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1{date}/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1{date}/get/responses/401/content/application~1json/examples/unauthorized"]}],"pointer":"/paths/~1api~1calendar~1{date}/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/GetCalendarResponse","exampleIds":["paths/~1api~1calendar~1{date}/get/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/GetCalendarResponse","exampleIds":["paths/~1api~1calendar~1{date}/get/responses/200/content/application~1json/examples/ok"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1{date}/get/responses/400/content/application~1json/examples/past_date"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1{date}/get/responses/400/content/application~1json/examples/past_date"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1{date}/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1{date}/get/responses/401/content/application~1json/examples/unauthorized"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/kalendar-rabochee-vremya/paths/~1api~1calendar~1{date}/get"}],"panels":[]}]},"httpPath":"/api/calendar/{date}"},{"label":"Установить рабочее время мастера салона на дату","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/kalendar-rabochee-vremya/paths/~1api~1calendar~1salon~1master~1{master_user_id}/post","routeSlug":"/openapi/kalendar-rabochee-vremya/paths/~1api~1calendar~1salon~1master~1{master_user_id}/post","metadata":{"seo":{"title":"Установить рабочее время мастера салона на дату","description":"Устанавливает рабочий интервал мастера салона на конкретную дату."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Установить рабочее время мастера салона на дату","isWebhook":false,"pointer":"/paths/~1api~1calendar~1salon~1master~1{master_user_id}/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Установить рабочее время мастера салона на дату","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Устанавливает рабочий интервал мастера салона на конкретную дату."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступно владельцу салона и администратору салона с правом управления графиком сотрудников."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"master_user_id","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID пользователя-мастера салона."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1calendar~1salon~1master~1{master_user_id}/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/CalendarBody","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}/post/requestBody/content/application~1json/examples/work_day","paths/~1api~1calendar~1salon~1master~1{master_user_id}/post/requestBody/content/application~1json/examples/day_off"]}},"schemaId":"components/schemas/CalendarBody","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}/post/requestBody/content/application~1json/examples/work_day","paths/~1api~1calendar~1salon~1master~1{master_user_id}/post/requestBody/content/application~1json/examples/day_off"],"pointer":"/paths/~1api~1calendar~1salon~1master~1{master_user_id}/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/calendar/salon/master/{master_user_id}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"master_user_id","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/CalendarBody","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}/post/requestBody/content/application~1json/examples/work_day","paths/~1api~1calendar~1salon~1master~1{master_user_id}/post/requestBody/content/application~1json/examples/day_off"]}},"responseCodes":["200","400","401","403","404","409"],"pointer":"/api/calendar/salon/master/{master_user_id}","href":"kalendar-rabochee-vremya/paths/~1api~1calendar~1salon~1master~1{master_user_id}/post","summary":"Установить рабочее время мастера салона на дату","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/CalendarBody","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}/post/requestBody/content/application~1json/examples/work_day","paths/~1api~1calendar~1salon~1master~1{master_user_id}/post/requestBody/content/application~1json/examples/day_off"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/CalendarBody","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}/post/requestBody/content/application~1json/examples/work_day","paths/~1api~1calendar~1salon~1master~1{master_user_id}/post/requestBody/content/application~1json/examples/day_off"]}},"examples":[{},{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Рабочее время сохранено"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SetCalendarResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}/post/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/SetCalendarResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}/post/responses/200/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1calendar~1salon~1master~1{master_user_id}/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1calendar~1salon~1master~1{master_user_id}/post/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1calendar~1salon~1master~1{master_user_id}/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1calendar~1salon~1master~1{master_user_id}/post/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}/post/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}/post/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}/post/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}/post/responses/403/content/application~1json/examples/forbidden"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрошенный ресурс не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}/post/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}/post/responses/404/content/application~1json/examples/not_found"]},{"code":"409","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрос конфликтует с текущим состоянием ресурса"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}/post/responses/409/content/application~1json/examples/conflict"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}/post/responses/409/content/application~1json/examples/conflict"]}],"pointer":"/paths/~1api~1calendar~1salon~1master~1{master_user_id}/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/SetCalendarResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}/post/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SetCalendarResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}/post/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1calendar~1salon~1master~1{master_user_id}/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1calendar~1salon~1master~1{master_user_id}/post/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1calendar~1salon~1master~1{master_user_id}/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1calendar~1salon~1master~1{master_user_id}/post/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}/post/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}/post/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}/post/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}/post/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}/post/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}/post/responses/404/content/application~1json/examples/not_found"]}}},{"code":"409","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}/post/responses/409/content/application~1json/examples/conflict"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}/post/responses/409/content/application~1json/examples/conflict"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/kalendar-rabochee-vremya/paths/~1api~1calendar~1salon~1master~1{master_user_id}/post"}],"panels":[]}]},"httpPath":"/api/calendar/salon/master/{master_user_id}"},{"label":"Получить рабочее время мастера салона на дату","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/kalendar-rabochee-vremya/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1{date}/get","routeSlug":"/openapi/kalendar-rabochee-vremya/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1{date}/get","metadata":{"seo":{"title":"Получить рабочее время мастера салона на дату","description":"Возвращает рабочий интервал мастера салона на конкретную дату."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить рабочее время мастера салона на дату","isWebhook":false,"pointer":"/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1{date}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить рабочее время мастера салона на дату","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает рабочий интервал мастера салона на конкретную дату."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступно владельцу салона и администратору салона с правом управления графиком сотрудников."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"master_user_id","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID пользователя-мастера салона."},"children":[]}]}]}],"required":true},{"name":"date","in":"path","schemaId":"schema_138","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Дата в формате "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1{date}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/calendar/salon/master/{master_user_id}/{date}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"master_user_id","in":"path","required":true,"schemaId":"schema_97"},{"name":"date","in":"path","required":true,"example":"2026-06-19","schemaId":"schema_138"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403","404"],"pointer":"/api/calendar/salon/master/{master_user_id}/{date}","href":"kalendar-rabochee-vremya/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1{date}/get","summary":"Получить рабочее время мастера салона на дату","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Рабочее время получено"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/GetCalendarResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1{date}/get/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/GetCalendarResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1{date}/get/responses/200/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1{date}/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1{date}/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1{date}/get/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1{date}/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1{date}/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1{date}/get/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1{date}/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1{date}/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1{date}/get/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1{date}/get/responses/403/content/application~1json/examples/forbidden"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрошенный ресурс не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1{date}/get/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1{date}/get/responses/404/content/application~1json/examples/not_found"]}],"pointer":"/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1{date}/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/GetCalendarResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1{date}/get/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/GetCalendarResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1{date}/get/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1{date}/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1{date}/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1{date}/get/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1{date}/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1{date}/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1{date}/get/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1{date}/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1{date}/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1{date}/get/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1{date}/get/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1{date}/get/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1{date}/get/responses/404/content/application~1json/examples/not_found"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/kalendar-rabochee-vremya/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1{date}/get"}],"panels":[]}]},"httpPath":"/api/calendar/salon/master/{master_user_id}/{date}"}],"content":{"contentType":"group","meta":{"name":"Календарь — рабочее время"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Календарь — рабочее время","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Получение и редактирование рабочего времени мастера на конкретные даты."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/api/calendar/master/{id}/work-time","summary":"Получить рабочее время мастера","prefix":{"name":"get","color":"get"},"badges":[],"link":"/kalendar-rabochee-vremya/paths/~1api~1calendar~1master~1{id}~1work-time/get","deprecated":false},{"title":"/api/calendar","summary":"Установить календарь текущего пользователя на указанную дату","prefix":{"name":"post","color":"post"},"badges":[],"link":"/kalendar-rabochee-vremya/paths/~1api~1calendar/post","deprecated":false},{"title":"/api/calendar/{date}","summary":"Получить календарь текущего пользователя на указанную дату","prefix":{"name":"get","color":"get"},"badges":[],"link":"/kalendar-rabochee-vremya/paths/~1api~1calendar~1{date}/get","deprecated":false},{"title":"/api/calendar/salon/master/{master_user_id}","summary":"Установить рабочее время мастера салона на дату","prefix":{"name":"post","color":"post"},"badges":[],"link":"/kalendar-rabochee-vremya/paths/~1api~1calendar~1salon~1master~1{master_user_id}/post","deprecated":false},{"title":"/api/calendar/salon/master/{master_user_id}/{date}","summary":"Получить рабочее время мастера салона на дату","prefix":{"name":"get","color":"get"},"badges":[],"link":"/kalendar-rabochee-vremya/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1{date}/get","deprecated":false}]}]}]}]}},{"type":"group","label":"Календарь — шаблон графика","link":"/openapi/kalendar-shablon-grafika","routeSlug":"/openapi/kalendar-shablon-grafika","items":[{"label":"Установить шаблон графика текущего мастера","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/kalendar-shablon-grafika/paths/~1api~1calendar~1work-schedule/post","routeSlug":"/openapi/kalendar-shablon-grafika/paths/~1api~1calendar~1work-schedule/post","metadata":{"seo":{"title":"Установить шаблон графика текущего мастера","description":"Устанавливает одинаковое рабочее время и перерывы на включительный диапазонstart_day..end_day выбранного месяца."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Установить шаблон графика текущего мастера","isWebhook":false,"pointer":"/paths/~1api~1calendar~1work-schedule/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Установить шаблон графика текущего мастера","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Устанавливает одинаковое рабочее время и перерывы на включительный диапазон"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"start_day..end_day"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" выбранного месяца."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"days_off"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" содержит номера дней месяца, которые нужно сделать выходными:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"в эти дни рабочий интервал и перерывы из шаблона не применяются;"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"существующие рабочий интервал и перерывы этих дней удаляются;"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"каждый день должен входить в диапазон "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"start_day..end_day"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":";"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"повторяющиеся номера дней запрещены;"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"если в выходной день уже есть запись клиента, сервер возвращает "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"409 conflict"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Перед изменением проверяются все рабочие и выходные дни. При конфликте шаблон"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"не применяется ни к одному дню. Сохранение шаблона и обновление календаря"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"выполняются атомарно."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"только роли "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"MASTER"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" или "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SALON"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/WorkScheduleSetupBody","exampleIds":["paths/~1api~1calendar~1work-schedule/post/requestBody/content/application~1json/examples/workSchedule"]}},"schemaId":"components/schemas/WorkScheduleSetupBody","exampleIds":["paths/~1api~1calendar~1work-schedule/post/requestBody/content/application~1json/examples/workSchedule"],"pointer":"/paths/~1api~1calendar~1work-schedule/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/calendar/work-schedule","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/WorkScheduleSetupBody","exampleIds":["paths/~1api~1calendar~1work-schedule/post/requestBody/content/application~1json/examples/workSchedule"]}},"responseCodes":["201","400","401","403","409"],"pointer":"/api/calendar/work-schedule","href":"kalendar-shablon-grafika/paths/~1api~1calendar~1work-schedule/post","summary":"Установить шаблон графика текущего мастера","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/WorkScheduleSetupBody","exampleIds":["paths/~1api~1calendar~1work-schedule/post/requestBody/content/application~1json/examples/workSchedule"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/WorkScheduleSetupBody","exampleIds":["paths/~1api~1calendar~1work-schedule/post/requestBody/content/application~1json/examples/workSchedule"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Рабочий график успешно создан"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/GetWorkSchedulesResponse","exampleIds":["paths/~1api~1calendar~1work-schedule/post/responses/201/content/application~1json/examples/created"]}},"schemaId":"components/schemas/GetWorkSchedulesResponse","exampleIds":["paths/~1api~1calendar~1work-schedule/post/responses/201/content/application~1json/examples/created"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело запроса"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1work-schedule/post/responses/400/content/application~1json/examples/missing_year","paths/~1api~1calendar~1work-schedule/post/responses/400/content/application~1json/examples/invalid_days","paths/~1api~1calendar~1work-schedule/post/responses/400/content/application~1json/examples/invalid_month_day","paths/~1api~1calendar~1work-schedule/post/responses/400/content/application~1json/examples/day_off_outside_range","paths/~1api~1calendar~1work-schedule/post/responses/400/content/application~1json/examples/duplicate_days_off","paths/~1api~1calendar~1work-schedule/post/responses/400/content/application~1json/examples/too_short_interval","paths/~1api~1calendar~1work-schedule/post/responses/400/content/application~1json/examples/overlapping_breaks"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1work-schedule/post/responses/400/content/application~1json/examples/missing_year","paths/~1api~1calendar~1work-schedule/post/responses/400/content/application~1json/examples/invalid_days","paths/~1api~1calendar~1work-schedule/post/responses/400/content/application~1json/examples/invalid_month_day","paths/~1api~1calendar~1work-schedule/post/responses/400/content/application~1json/examples/day_off_outside_range","paths/~1api~1calendar~1work-schedule/post/responses/400/content/application~1json/examples/duplicate_days_off","paths/~1api~1calendar~1work-schedule/post/responses/400/content/application~1json/examples/too_short_interval","paths/~1api~1calendar~1work-schedule/post/responses/400/content/application~1json/examples/overlapping_breaks"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1work-schedule/post/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1work-schedule/post/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Недостаточно прав для установки рабочего графика"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1work-schedule/post/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1work-schedule/post/responses/403/content/application~1json/examples/forbidden"]},{"code":"409","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Новый график конфликтует с существующими записями или шаблон на этот месяц уже существует"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1work-schedule/post/responses/409/content/application~1json/examples/schedule_conflict","paths/~1api~1calendar~1work-schedule/post/responses/409/content/application~1json/examples/break_conflict","paths/~1api~1calendar~1work-schedule/post/responses/409/content/application~1json/examples/day_off_has_booking","paths/~1api~1calendar~1work-schedule/post/responses/409/content/application~1json/examples/duplicate_month_template"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1work-schedule/post/responses/409/content/application~1json/examples/schedule_conflict","paths/~1api~1calendar~1work-schedule/post/responses/409/content/application~1json/examples/break_conflict","paths/~1api~1calendar~1work-schedule/post/responses/409/content/application~1json/examples/day_off_has_booking","paths/~1api~1calendar~1work-schedule/post/responses/409/content/application~1json/examples/duplicate_month_template"]}],"pointer":"/paths/~1api~1calendar~1work-schedule/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"201","schemaId":"components/schemas/GetWorkSchedulesResponse","exampleIds":["paths/~1api~1calendar~1work-schedule/post/responses/201/content/application~1json/examples/created"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/GetWorkSchedulesResponse","exampleIds":["paths/~1api~1calendar~1work-schedule/post/responses/201/content/application~1json/examples/created"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1work-schedule/post/responses/400/content/application~1json/examples/missing_year","paths/~1api~1calendar~1work-schedule/post/responses/400/content/application~1json/examples/invalid_days","paths/~1api~1calendar~1work-schedule/post/responses/400/content/application~1json/examples/invalid_month_day","paths/~1api~1calendar~1work-schedule/post/responses/400/content/application~1json/examples/day_off_outside_range","paths/~1api~1calendar~1work-schedule/post/responses/400/content/application~1json/examples/duplicate_days_off","paths/~1api~1calendar~1work-schedule/post/responses/400/content/application~1json/examples/too_short_interval","paths/~1api~1calendar~1work-schedule/post/responses/400/content/application~1json/examples/overlapping_breaks"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1work-schedule/post/responses/400/content/application~1json/examples/missing_year","paths/~1api~1calendar~1work-schedule/post/responses/400/content/application~1json/examples/invalid_days","paths/~1api~1calendar~1work-schedule/post/responses/400/content/application~1json/examples/invalid_month_day","paths/~1api~1calendar~1work-schedule/post/responses/400/content/application~1json/examples/day_off_outside_range","paths/~1api~1calendar~1work-schedule/post/responses/400/content/application~1json/examples/duplicate_days_off","paths/~1api~1calendar~1work-schedule/post/responses/400/content/application~1json/examples/too_short_interval","paths/~1api~1calendar~1work-schedule/post/responses/400/content/application~1json/examples/overlapping_breaks"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1work-schedule/post/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1work-schedule/post/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1work-schedule/post/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1work-schedule/post/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"409","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1work-schedule/post/responses/409/content/application~1json/examples/schedule_conflict","paths/~1api~1calendar~1work-schedule/post/responses/409/content/application~1json/examples/break_conflict","paths/~1api~1calendar~1work-schedule/post/responses/409/content/application~1json/examples/day_off_has_booking","paths/~1api~1calendar~1work-schedule/post/responses/409/content/application~1json/examples/duplicate_month_template"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1work-schedule/post/responses/409/content/application~1json/examples/schedule_conflict","paths/~1api~1calendar~1work-schedule/post/responses/409/content/application~1json/examples/break_conflict","paths/~1api~1calendar~1work-schedule/post/responses/409/content/application~1json/examples/day_off_has_booking","paths/~1api~1calendar~1work-schedule/post/responses/409/content/application~1json/examples/duplicate_month_template"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/kalendar-shablon-grafika/paths/~1api~1calendar~1work-schedule/post"}],"panels":[]}]},"httpPath":"/api/calendar/work-schedule"},{"label":"Получить шаблон рабочего графика","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/kalendar-shablon-grafika/paths/~1api~1calendar~1work-schedule/get","routeSlug":"/openapi/kalendar-shablon-grafika/paths/~1api~1calendar~1work-schedule/get","metadata":{"seo":{"title":"Получить шаблон рабочего графика","description":"Возвращает рабочий график по id или список графиков по user_id и year."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить шаблон рабочего графика","isWebhook":false,"pointer":"/paths/~1api~1calendar~1work-schedule/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить шаблон рабочего графика","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает рабочий график по "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" или список графиков по "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"user_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"year"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"передайте либо "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", либо пару "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"user_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" + "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"year"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"id","in":"query","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор рабочего графика."},"children":[]}]}]}]},{"name":"user_id","in":"query","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор пользователя."},"children":[]}]}]}]},{"name":"year","in":"query","schemaId":"schema_139","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Год графиков пользователя."},"children":[]}]}]}]}],"pointer":"/paths/~1api~1calendar~1work-schedule/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/calendar/work-schedule","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[{"name":"id","in":"query","required":false,"schemaId":"schema_97"},{"name":"user_id","in":"query","required":false,"schemaId":"schema_97"},{"name":"year","in":"query","required":false,"example":2026,"schemaId":"schema_139"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403","404"],"pointer":"/api/calendar/work-schedule","href":"kalendar-shablon-grafika/paths/~1api~1calendar~1work-schedule/get","summary":"Получить шаблон рабочего графика","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Рабочий график успешно получен"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_140","exampleIds":["paths/~1api~1calendar~1work-schedule/get/responses/200/content/application~1json/examples/by_id","paths/~1api~1calendar~1work-schedule/get/responses/200/content/application~1json/examples/by_user_and_year"]}},"schemaId":"schema_140","exampleIds":["paths/~1api~1calendar~1work-schedule/get/responses/200/content/application~1json/examples/by_id","paths/~1api~1calendar~1work-schedule/get/responses/200/content/application~1json/examples/by_user_and_year"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректные query-параметры"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1work-schedule/get/responses/400/content/application~1json/examples/invalid_id","paths/~1api~1calendar~1work-schedule/get/responses/400/content/application~1json/examples/invalid_user_id","paths/~1api~1calendar~1work-schedule/get/responses/400/content/application~1json/examples/invalid_year"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1work-schedule/get/responses/400/content/application~1json/examples/invalid_id","paths/~1api~1calendar~1work-schedule/get/responses/400/content/application~1json/examples/invalid_user_id","paths/~1api~1calendar~1work-schedule/get/responses/400/content/application~1json/examples/invalid_year"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1work-schedule/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1work-schedule/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1work-schedule/get/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1work-schedule/get/responses/403/content/application~1json/examples/forbidden"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Рабочий график не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1work-schedule/get/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1work-schedule/get/responses/404/content/application~1json/examples/not_found"]}],"pointer":"/paths/~1api~1calendar~1work-schedule/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_140","exampleIds":["paths/~1api~1calendar~1work-schedule/get/responses/200/content/application~1json/examples/by_id","paths/~1api~1calendar~1work-schedule/get/responses/200/content/application~1json/examples/by_user_and_year"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_140","exampleIds":["paths/~1api~1calendar~1work-schedule/get/responses/200/content/application~1json/examples/by_id","paths/~1api~1calendar~1work-schedule/get/responses/200/content/application~1json/examples/by_user_and_year"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1work-schedule/get/responses/400/content/application~1json/examples/invalid_id","paths/~1api~1calendar~1work-schedule/get/responses/400/content/application~1json/examples/invalid_user_id","paths/~1api~1calendar~1work-schedule/get/responses/400/content/application~1json/examples/invalid_year"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1work-schedule/get/responses/400/content/application~1json/examples/invalid_id","paths/~1api~1calendar~1work-schedule/get/responses/400/content/application~1json/examples/invalid_user_id","paths/~1api~1calendar~1work-schedule/get/responses/400/content/application~1json/examples/invalid_year"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1work-schedule/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1work-schedule/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1work-schedule/get/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1work-schedule/get/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1work-schedule/get/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1work-schedule/get/responses/404/content/application~1json/examples/not_found"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/kalendar-shablon-grafika/paths/~1api~1calendar~1work-schedule/get"}],"panels":[]}]},"httpPath":"/api/calendar/work-schedule"},{"label":"Удалить шаблон графика текущего мастера","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/kalendar-shablon-grafika/paths/~1api~1calendar~1work-schedule~1{template_id}/delete","routeSlug":"/openapi/kalendar-shablon-grafika/paths/~1api~1calendar~1work-schedule~1{template_id}/delete","metadata":{"seo":{"title":"Удалить шаблон графика текущего мастера","description":"Удаляет только сохранённую информацию о шаблоне из PostgreSQL.Уже применённое расписание, рабочие интервалы и перерывы не изменяются.Доступно только индивидуальному мастеру; шаблон должен принадлежать текущему пользователю."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Удалить шаблон графика текущего мастера","isWebhook":false,"pointer":"/paths/~1api~1calendar~1work-schedule~1{template_id}/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Удалить шаблон графика текущего мастера","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Удаляет только сохранённую информацию о шаблоне из PostgreSQL."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Уже применённое расписание, рабочие интервалы и перерывы не изменяются."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступно только индивидуальному мастеру; шаблон должен принадлежать текущему пользователю."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"template_id","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID удаляемого шаблона."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1calendar~1work-schedule~1{template_id}/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/api/calendar/work-schedule/{template_id}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"template_id","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403","404"],"pointer":"/api/calendar/work-schedule/{template_id}","href":"kalendar-shablon-grafika/paths/~1api~1calendar~1work-schedule~1{template_id}/delete","summary":"Удалить шаблон графика текущего мастера","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Шаблон удалён, применённое расписание не изменено"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1calendar~1work-schedule~1{template_id}/delete/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1calendar~1work-schedule~1{template_id}/delete/responses/200/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1work-schedule~1{template_id}/delete/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1calendar~1work-schedule~1{template_id}/delete/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1calendar~1work-schedule~1{template_id}/delete/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1work-schedule~1{template_id}/delete/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1calendar~1work-schedule~1{template_id}/delete/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1calendar~1work-schedule~1{template_id}/delete/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1work-schedule~1{template_id}/delete/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1work-schedule~1{template_id}/delete/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1work-schedule~1{template_id}/delete/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1work-schedule~1{template_id}/delete/responses/403/content/application~1json/examples/forbidden"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрошенный ресурс не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1work-schedule~1{template_id}/delete/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1work-schedule~1{template_id}/delete/responses/404/content/application~1json/examples/not_found"]}],"pointer":"/paths/~1api~1calendar~1work-schedule~1{template_id}/delete/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1calendar~1work-schedule~1{template_id}/delete/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1calendar~1work-schedule~1{template_id}/delete/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1work-schedule~1{template_id}/delete/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1calendar~1work-schedule~1{template_id}/delete/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1calendar~1work-schedule~1{template_id}/delete/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1work-schedule~1{template_id}/delete/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1calendar~1work-schedule~1{template_id}/delete/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1calendar~1work-schedule~1{template_id}/delete/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1work-schedule~1{template_id}/delete/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1work-schedule~1{template_id}/delete/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1work-schedule~1{template_id}/delete/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1work-schedule~1{template_id}/delete/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1work-schedule~1{template_id}/delete/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1work-schedule~1{template_id}/delete/responses/404/content/application~1json/examples/not_found"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/kalendar-shablon-grafika/paths/~1api~1calendar~1work-schedule~1{template_id}/delete"}],"panels":[]}]},"httpPath":"/api/calendar/work-schedule/{template_id}"},{"label":"Установить шаблон графика мастера салона","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/kalendar-shablon-grafika/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/post","routeSlug":"/openapi/kalendar-shablon-grafika/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/post","metadata":{"seo":{"title":"Установить шаблон графика мастера салона","description":"Создаёт шаблон графика мастера салона на выбранный диапазон дней месяца.Поле days_off работает так же, как для шаблона текущего мастера: указанныедни становятся выходными, их интервалы удаляются, а наличие записи клиентаприводит к ответу 409 без частичного применения шаблона.Повторный шаблон для того же мастера, года и месяца также возвращает 409."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Установить шаблон графика мастера салона","isWebhook":false,"pointer":"/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Установить шаблон графика мастера салона","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Создаёт шаблон графика мастера салона на выбранный диапазон дней месяца."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Поле "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"days_off"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" работает так же, как для шаблона текущего мастера: указанные"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"дни становятся выходными, их интервалы удаляются, а наличие записи клиента"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"приводит к ответу "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"409"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" без частичного применения шаблона."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Повторный шаблон для того же мастера, года и месяца также возвращает "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"409"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступно владельцу салона и администратору салона с правом управления графиком сотрудников."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"master_user_id","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID пользователя-мастера салона."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/WorkScheduleSetupBody","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/post/requestBody/content/application~1json/examples/monthlyTemplate"]}},"schemaId":"components/schemas/WorkScheduleSetupBody","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/post/requestBody/content/application~1json/examples/monthlyTemplate"],"pointer":"/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/calendar/salon/master/{master_user_id}/work-schedule","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"master_user_id","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/WorkScheduleSetupBody","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/post/requestBody/content/application~1json/examples/monthlyTemplate"]}},"responseCodes":["201","400","401","403","404","409"],"pointer":"/api/calendar/salon/master/{master_user_id}/work-schedule","href":"kalendar-shablon-grafika/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/post","summary":"Установить шаблон графика мастера салона","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/WorkScheduleSetupBody","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/post/requestBody/content/application~1json/examples/monthlyTemplate"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/WorkScheduleSetupBody","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/post/requestBody/content/application~1json/examples/monthlyTemplate"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Постоянный график создан"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/GetWorkSchedulesResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/post/responses/201/content/application~1json/example"]}},"schemaId":"components/schemas/GetWorkSchedulesResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/post/responses/201/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/post/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/post/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/post/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/post/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/post/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/post/responses/403/content/application~1json/examples/forbidden"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрошенный ресурс не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/post/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/post/responses/404/content/application~1json/examples/not_found"]},{"code":"409","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрос конфликтует с текущим состоянием ресурса"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/post/responses/409/content/application~1json/examples/conflict"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/post/responses/409/content/application~1json/examples/conflict"]}],"pointer":"/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"201","schemaId":"components/schemas/GetWorkSchedulesResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/post/responses/201/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/GetWorkSchedulesResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/post/responses/201/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/post/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/post/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/post/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/post/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/post/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/post/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/post/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/post/responses/404/content/application~1json/examples/not_found"]}}},{"code":"409","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/post/responses/409/content/application~1json/examples/conflict"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/post/responses/409/content/application~1json/examples/conflict"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/kalendar-shablon-grafika/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/post"}],"panels":[]}]},"httpPath":"/api/calendar/salon/master/{master_user_id}/work-schedule"},{"label":"Получить шаблон графика мастера салона","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/kalendar-shablon-grafika/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/get","routeSlug":"/openapi/kalendar-shablon-grafika/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/get","metadata":{"seo":{"title":"Получить шаблон графика мастера салона","description":"Возвращает постоянный график мастера салона по id или список графиков за year."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить шаблон графика мастера салона","isWebhook":false,"pointer":"/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить шаблон графика мастера салона","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает постоянный график мастера салона по "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" или список графиков за "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"year"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Передайте один из query-параметров: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" или "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"year"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"master_user_id","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID пользователя-мастера салона."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"id","in":"query","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID постоянного графика."},"children":[]}]}]}]},{"name":"year","in":"query","schemaId":"schema_139","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Год графиков."},"children":[]}]}]}]}],"pointer":"/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/calendar/salon/master/{master_user_id}/work-schedule","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"master_user_id","in":"path","required":true,"schemaId":"schema_97"}],"query":[{"name":"id","in":"query","required":false,"schemaId":"schema_97"},{"name":"year","in":"query","required":false,"example":2026,"schemaId":"schema_139"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403","404"],"pointer":"/api/calendar/salon/master/{master_user_id}/work-schedule","href":"kalendar-shablon-grafika/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/get","summary":"Получить шаблон графика мастера салона","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Постоянный график получен"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_140","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/get/responses/200/content/application~1json/examples/by_id","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/get/responses/200/content/application~1json/examples/by_year"]}},"schemaId":"schema_140","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/get/responses/200/content/application~1json/examples/by_id","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/get/responses/200/content/application~1json/examples/by_year"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/get/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/get/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/get/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/get/responses/403/content/application~1json/examples/forbidden"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрошенный ресурс не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/get/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/get/responses/404/content/application~1json/examples/not_found"]}],"pointer":"/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_140","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/get/responses/200/content/application~1json/examples/by_id","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/get/responses/200/content/application~1json/examples/by_year"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_140","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/get/responses/200/content/application~1json/examples/by_id","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/get/responses/200/content/application~1json/examples/by_year"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/get/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/get/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/get/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/get/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/get/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/get/responses/404/content/application~1json/examples/not_found"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/kalendar-shablon-grafika/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/get"}],"panels":[]}]},"httpPath":"/api/calendar/salon/master/{master_user_id}/work-schedule"},{"label":"Удалить шаблон графика мастера салона","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/kalendar-shablon-grafika/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule~1{template_id}/delete","routeSlug":"/openapi/kalendar-shablon-grafika/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule~1{template_id}/delete","metadata":{"seo":{"title":"Удалить шаблон графика мастера салона","description":"Удаляет только сохранённую информацию о шаблоне из PostgreSQL.Уже применённое расписание, рабочие интервалы и перерывы не изменяются.Доступно владельцу салона и администратору этого салона с разрешениемSTAFF_SCHEDULE_MANAGE. Шаблон должен принадлежать указанному мастеру."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Удалить шаблон графика мастера салона","isWebhook":false,"pointer":"/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule~1{template_id}/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Удалить шаблон графика мастера салона","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Удаляет только сохранённую информацию о шаблоне из PostgreSQL."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Уже применённое расписание, рабочие интервалы и перерывы не изменяются."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступно владельцу салона и администратору этого салона с разрешением"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"STAFF_SCHEDULE_MANAGE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Шаблон должен принадлежать указанному мастеру."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"master_user_id","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID пользователя-мастера салона."},"children":[]}]}]}],"required":true},{"name":"template_id","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID удаляемого шаблона."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule~1{template_id}/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/api/calendar/salon/master/{master_user_id}/work-schedule/{template_id}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"master_user_id","in":"path","required":true,"schemaId":"schema_97"},{"name":"template_id","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403","404"],"pointer":"/api/calendar/salon/master/{master_user_id}/work-schedule/{template_id}","href":"kalendar-shablon-grafika/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule~1{template_id}/delete","summary":"Удалить шаблон графика мастера салона","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Шаблон удалён, применённое расписание не изменено"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule~1{template_id}/delete/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule~1{template_id}/delete/responses/200/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule~1{template_id}/delete/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule~1{template_id}/delete/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule~1{template_id}/delete/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule~1{template_id}/delete/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule~1{template_id}/delete/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule~1{template_id}/delete/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule~1{template_id}/delete/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule~1{template_id}/delete/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule~1{template_id}/delete/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule~1{template_id}/delete/responses/403/content/application~1json/examples/forbidden"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрошенный ресурс не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule~1{template_id}/delete/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule~1{template_id}/delete/responses/404/content/application~1json/examples/not_found"]}],"pointer":"/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule~1{template_id}/delete/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule~1{template_id}/delete/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule~1{template_id}/delete/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule~1{template_id}/delete/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule~1{template_id}/delete/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule~1{template_id}/delete/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule~1{template_id}/delete/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule~1{template_id}/delete/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule~1{template_id}/delete/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule~1{template_id}/delete/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule~1{template_id}/delete/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule~1{template_id}/delete/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule~1{template_id}/delete/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule~1{template_id}/delete/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule~1{template_id}/delete/responses/404/content/application~1json/examples/not_found"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/kalendar-shablon-grafika/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule~1{template_id}/delete"}],"panels":[]}]},"httpPath":"/api/calendar/salon/master/{master_user_id}/work-schedule/{template_id}"}],"content":{"contentType":"group","meta":{"name":"Календарь — шаблон графика"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Календарь — шаблон графика","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Установка и получение месячных шаблонов рабочего графика мастера, включая рабочее время, перерывы и выходные дни."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/api/calendar/work-schedule","summary":"Установить шаблон графика текущего мастера","prefix":{"name":"post","color":"post"},"badges":[],"link":"/kalendar-shablon-grafika/paths/~1api~1calendar~1work-schedule/post","deprecated":false},{"title":"/api/calendar/work-schedule","summary":"Получить шаблон рабочего графика","prefix":{"name":"get","color":"get"},"badges":[],"link":"/kalendar-shablon-grafika/paths/~1api~1calendar~1work-schedule/get","deprecated":false},{"title":"/api/calendar/work-schedule/{template_id}","summary":"Удалить шаблон графика текущего мастера","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/kalendar-shablon-grafika/paths/~1api~1calendar~1work-schedule~1{template_id}/delete","deprecated":false},{"title":"/api/calendar/salon/master/{master_user_id}/work-schedule","summary":"Установить шаблон графика мастера салона","prefix":{"name":"post","color":"post"},"badges":[],"link":"/kalendar-shablon-grafika/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/post","deprecated":false},{"title":"/api/calendar/salon/master/{master_user_id}/work-schedule","summary":"Получить шаблон графика мастера салона","prefix":{"name":"get","color":"get"},"badges":[],"link":"/kalendar-shablon-grafika/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/get","deprecated":false},{"title":"/api/calendar/salon/master/{master_user_id}/work-schedule/{template_id}","summary":"Удалить шаблон графика мастера салона","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/kalendar-shablon-grafika/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule~1{template_id}/delete","deprecated":false}]}]}]}]}},{"type":"group","label":"Календарь — перерывы","link":"/openapi/kalendar-pereryvy","routeSlug":"/openapi/kalendar-pereryvy","items":[{"label":"Установить перерывы мастера салона на дату","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/kalendar-pereryvy/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break/post","routeSlug":"/openapi/kalendar-pereryvy/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break/post","metadata":{"seo":{"title":"Установить перерывы мастера салона на дату","description":"Заменяет список перерывов мастера салона на указанную дату."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Установить перерывы мастера салона на дату","isWebhook":false,"pointer":"/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Установить перерывы мастера салона на дату","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Заменяет список перерывов мастера салона на указанную дату."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступно владельцу салона и администратору салона с правом управления графиком сотрудников."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"master_user_id","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID пользователя-мастера салона."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/BreaksBody","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break/post/requestBody/content/application~1json/examples/breaks"]}},"schemaId":"components/schemas/BreaksBody","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break/post/requestBody/content/application~1json/examples/breaks"],"pointer":"/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/calendar/salon/master/{master_user_id}/break","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"master_user_id","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/BreaksBody","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break/post/requestBody/content/application~1json/examples/breaks"]}},"responseCodes":["200","400","401","403","404","409"],"pointer":"/api/calendar/salon/master/{master_user_id}/break","href":"kalendar-pereryvy/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break/post","summary":"Установить перерывы мастера салона на дату","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/BreaksBody","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break/post/requestBody/content/application~1json/examples/breaks"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/BreaksBody","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break/post/requestBody/content/application~1json/examples/breaks"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Перерывы сохранены"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SetBreaksResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break/post/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/SetBreaksResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break/post/responses/200/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break/post/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break/post/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break/post/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break/post/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break/post/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break/post/responses/403/content/application~1json/examples/forbidden"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрошенный ресурс не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break/post/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break/post/responses/404/content/application~1json/examples/not_found"]},{"code":"409","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрос конфликтует с текущим состоянием ресурса"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break/post/responses/409/content/application~1json/examples/conflict"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break/post/responses/409/content/application~1json/examples/conflict"]}],"pointer":"/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/SetBreaksResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break/post/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SetBreaksResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break/post/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break/post/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break/post/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break/post/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break/post/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break/post/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break/post/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break/post/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break/post/responses/404/content/application~1json/examples/not_found"]}}},{"code":"409","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break/post/responses/409/content/application~1json/examples/conflict"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break/post/responses/409/content/application~1json/examples/conflict"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/kalendar-pereryvy/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break/post"}],"panels":[]}]},"httpPath":"/api/calendar/salon/master/{master_user_id}/break"},{"label":"Получить перерывы мастера салона на дату","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/kalendar-pereryvy/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break~1{date}/get","routeSlug":"/openapi/kalendar-pereryvy/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break~1{date}/get","metadata":{"seo":{"title":"Получить перерывы мастера салона на дату","description":"Возвращает перерывы мастера салона на конкретную дату."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить перерывы мастера салона на дату","isWebhook":false,"pointer":"/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break~1{date}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить перерывы мастера салона на дату","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает перерывы мастера салона на конкретную дату."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступно владельцу салона и администратору салона с правом управления графиком сотрудников."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"master_user_id","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID пользователя-мастера салона."},"children":[]}]}]}],"required":true},{"name":"date","in":"path","schemaId":"schema_138","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Дата в формате "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break~1{date}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/calendar/salon/master/{master_user_id}/break/{date}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"master_user_id","in":"path","required":true,"schemaId":"schema_97"},{"name":"date","in":"path","required":true,"example":"2026-06-19","schemaId":"schema_138"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403","404"],"pointer":"/api/calendar/salon/master/{master_user_id}/break/{date}","href":"kalendar-pereryvy/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break~1{date}/get","summary":"Получить перерывы мастера салона на дату","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Перерывы получены"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/GetBreaksResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break~1{date}/get/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/GetBreaksResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break~1{date}/get/responses/200/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break~1{date}/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break~1{date}/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break~1{date}/get/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break~1{date}/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break~1{date}/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break~1{date}/get/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break~1{date}/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break~1{date}/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break~1{date}/get/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break~1{date}/get/responses/403/content/application~1json/examples/forbidden"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрошенный ресурс не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break~1{date}/get/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break~1{date}/get/responses/404/content/application~1json/examples/not_found"]}],"pointer":"/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break~1{date}/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/GetBreaksResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break~1{date}/get/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/GetBreaksResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break~1{date}/get/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break~1{date}/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break~1{date}/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break~1{date}/get/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break~1{date}/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break~1{date}/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break~1{date}/get/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break~1{date}/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break~1{date}/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break~1{date}/get/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break~1{date}/get/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break~1{date}/get/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break~1{date}/get/responses/404/content/application~1json/examples/not_found"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/kalendar-pereryvy/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break~1{date}/get"}],"panels":[]}]},"httpPath":"/api/calendar/salon/master/{master_user_id}/break/{date}"},{"label":"Установить перерывы текущего пользователя на указанную дату","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/kalendar-pereryvy/paths/~1api~1calendar~1break/post","routeSlug":"/openapi/kalendar-pereryvy/paths/~1api~1calendar~1break/post","metadata":{"seo":{"title":"Установить перерывы текущего пользователя на указанную дату","description":"Сохраняет список пользовательских перерывов на указанную дату."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Установить перерывы текущего пользователя на указанную дату","isWebhook":false,"pointer":"/paths/~1api~1calendar~1break/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Установить перерывы текущего пользователя на указанную дату","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Сохраняет список пользовательских перерывов на указанную дату."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Перед сохранением интервалы сортируются по "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"start_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", а затем полностью перезаписывают уже сохранённые перерывы на эту дату."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Если передан пустой список "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"intervals"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", перерывы на дату очищаются."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Если хотя бы одна существующая запись со статусом "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"BOOKED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" пересекается с любым интервалом из нового списка, возвращается конфликт "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"409"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Правила валидации:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"date"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" обязателен и не должен быть раньше текущего дня"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"intervals"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" обязателен, но может быть пустым"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"каждый элемент "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"intervals"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" должен быть не "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"внутри каждого интервала "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"start_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"end_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" обязательны"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"end_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" должен быть позже "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"start_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" в рамках одного дня"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"минимальная длительность одного перерыва: 15 минут"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"интервалы перерывов не должны пересекаться между собой"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"только роли "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"MASTER"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" или "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SALON"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/BreaksBody","exampleIds":["paths/~1api~1calendar~1break/post/requestBody/content/application~1json/examples/saveBreaks","paths/~1api~1calendar~1break/post/requestBody/content/application~1json/examples/clearBreaks"]}},"schemaId":"components/schemas/BreaksBody","exampleIds":["paths/~1api~1calendar~1break/post/requestBody/content/application~1json/examples/saveBreaks","paths/~1api~1calendar~1break/post/requestBody/content/application~1json/examples/clearBreaks"],"pointer":"/paths/~1api~1calendar~1break/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/calendar/break","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/BreaksBody","exampleIds":["paths/~1api~1calendar~1break/post/requestBody/content/application~1json/examples/saveBreaks","paths/~1api~1calendar~1break/post/requestBody/content/application~1json/examples/clearBreaks"]}},"responseCodes":["200","400","401","403","409"],"pointer":"/api/calendar/break","href":"kalendar-pereryvy/paths/~1api~1calendar~1break/post","summary":"Установить перерывы текущего пользователя на указанную дату","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/BreaksBody","exampleIds":["paths/~1api~1calendar~1break/post/requestBody/content/application~1json/examples/saveBreaks","paths/~1api~1calendar~1break/post/requestBody/content/application~1json/examples/clearBreaks"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/BreaksBody","exampleIds":["paths/~1api~1calendar~1break/post/requestBody/content/application~1json/examples/saveBreaks","paths/~1api~1calendar~1break/post/requestBody/content/application~1json/examples/clearBreaks"]}},"examples":[{},{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Перерывы на дату успешно сохранены"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SetBreaksResponse","exampleIds":["paths/~1api~1calendar~1break/post/responses/200/content/application~1json/examples/saved"]}},"schemaId":"components/schemas/SetBreaksResponse","exampleIds":["paths/~1api~1calendar~1break/post/responses/200/content/application~1json/examples/saved"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело запроса или дата в прошлом"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1break/post/responses/400/content/application~1json/examples/missing_date","paths/~1api~1calendar~1break/post/responses/400/content/application~1json/examples/missing_intervals","paths/~1api~1calendar~1break/post/responses/400/content/application~1json/examples/null_interval","paths/~1api~1calendar~1break/post/responses/400/content/application~1json/examples/missing_start_time","paths/~1api~1calendar~1break/post/responses/400/content/application~1json/examples/missing_end_time","paths/~1api~1calendar~1break/post/responses/400/content/application~1json/examples/invalid_interval_order","paths/~1api~1calendar~1break/post/responses/400/content/application~1json/examples/too_short_interval","paths/~1api~1calendar~1break/post/responses/400/content/application~1json/examples/overlapping_intervals","paths/~1api~1calendar~1break/post/responses/400/content/application~1json/examples/past_date"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1break/post/responses/400/content/application~1json/examples/missing_date","paths/~1api~1calendar~1break/post/responses/400/content/application~1json/examples/missing_intervals","paths/~1api~1calendar~1break/post/responses/400/content/application~1json/examples/null_interval","paths/~1api~1calendar~1break/post/responses/400/content/application~1json/examples/missing_start_time","paths/~1api~1calendar~1break/post/responses/400/content/application~1json/examples/missing_end_time","paths/~1api~1calendar~1break/post/responses/400/content/application~1json/examples/invalid_interval_order","paths/~1api~1calendar~1break/post/responses/400/content/application~1json/examples/too_short_interval","paths/~1api~1calendar~1break/post/responses/400/content/application~1json/examples/overlapping_intervals","paths/~1api~1calendar~1break/post/responses/400/content/application~1json/examples/past_date"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1break/post/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1break/post/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Недостаточно прав для установки перерывов"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1break/post/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1break/post/responses/403/content/application~1json/examples/forbidden"]},{"code":"409","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Новый список перерывов конфликтует с существующими записями"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1break/post/responses/409/content/application~1json/examples/break_conflict"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1break/post/responses/409/content/application~1json/examples/break_conflict"]}],"pointer":"/paths/~1api~1calendar~1break/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/SetBreaksResponse","exampleIds":["paths/~1api~1calendar~1break/post/responses/200/content/application~1json/examples/saved"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SetBreaksResponse","exampleIds":["paths/~1api~1calendar~1break/post/responses/200/content/application~1json/examples/saved"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1break/post/responses/400/content/application~1json/examples/missing_date","paths/~1api~1calendar~1break/post/responses/400/content/application~1json/examples/missing_intervals","paths/~1api~1calendar~1break/post/responses/400/content/application~1json/examples/null_interval","paths/~1api~1calendar~1break/post/responses/400/content/application~1json/examples/missing_start_time","paths/~1api~1calendar~1break/post/responses/400/content/application~1json/examples/missing_end_time","paths/~1api~1calendar~1break/post/responses/400/content/application~1json/examples/invalid_interval_order","paths/~1api~1calendar~1break/post/responses/400/content/application~1json/examples/too_short_interval","paths/~1api~1calendar~1break/post/responses/400/content/application~1json/examples/overlapping_intervals","paths/~1api~1calendar~1break/post/responses/400/content/application~1json/examples/past_date"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1break/post/responses/400/content/application~1json/examples/missing_date","paths/~1api~1calendar~1break/post/responses/400/content/application~1json/examples/missing_intervals","paths/~1api~1calendar~1break/post/responses/400/content/application~1json/examples/null_interval","paths/~1api~1calendar~1break/post/responses/400/content/application~1json/examples/missing_start_time","paths/~1api~1calendar~1break/post/responses/400/content/application~1json/examples/missing_end_time","paths/~1api~1calendar~1break/post/responses/400/content/application~1json/examples/invalid_interval_order","paths/~1api~1calendar~1break/post/responses/400/content/application~1json/examples/too_short_interval","paths/~1api~1calendar~1break/post/responses/400/content/application~1json/examples/overlapping_intervals","paths/~1api~1calendar~1break/post/responses/400/content/application~1json/examples/past_date"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1break/post/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1break/post/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1break/post/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1break/post/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"409","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1break/post/responses/409/content/application~1json/examples/break_conflict"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1break/post/responses/409/content/application~1json/examples/break_conflict"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/kalendar-pereryvy/paths/~1api~1calendar~1break/post"}],"panels":[]}]},"httpPath":"/api/calendar/break"},{"label":"Получить перерывы текущего пользователя на указанную дату","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/kalendar-pereryvy/paths/~1api~1calendar~1break~1{date}/get","routeSlug":"/openapi/kalendar-pereryvy/paths/~1api~1calendar~1break~1{date}/get","metadata":{"seo":{"title":"Получить перерывы текущего пользователя на указанную дату","description":"Возвращает список перерывов текущего пользователя на указанную дату."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить перерывы текущего пользователя на указанную дату","isWebhook":false,"pointer":"/paths/~1api~1calendar~1break~1{date}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить перерывы текущего пользователя на указанную дату","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает список перерывов текущего пользователя на указанную дату."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Если перерывы на дату не заданы, возвращается пустой список "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"intervals"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"обязательный path-параметр "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"date"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" в формате "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"нельзя получать перерывы за прошедшие даты"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"date","in":"path","schemaId":"schema_137","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Дата, для которой нужно получить список перерывов."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1calendar~1break~1{date}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/calendar/break/{date}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"date","in":"path","required":true,"example":"2026-04-01","schemaId":"schema_137"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401"],"pointer":"/api/calendar/break/{date}","href":"kalendar-pereryvy/paths/~1api~1calendar~1break~1{date}/get","summary":"Получить перерывы текущего пользователя на указанную дату","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Перерывы успешно получены"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/GetBreaksResponse","exampleIds":["paths/~1api~1calendar~1break~1{date}/get/responses/200/content/application~1json/examples/with_breaks","paths/~1api~1calendar~1break~1{date}/get/responses/200/content/application~1json/examples/empty"]}},"schemaId":"components/schemas/GetBreaksResponse","exampleIds":["paths/~1api~1calendar~1break~1{date}/get/responses/200/content/application~1json/examples/with_breaks","paths/~1api~1calendar~1break~1{date}/get/responses/200/content/application~1json/examples/empty"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректная дата запроса"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1break~1{date}/get/responses/400/content/application~1json/examples/past_date"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1break~1{date}/get/responses/400/content/application~1json/examples/past_date"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1break~1{date}/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1break~1{date}/get/responses/401/content/application~1json/examples/unauthorized"]}],"pointer":"/paths/~1api~1calendar~1break~1{date}/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/GetBreaksResponse","exampleIds":["paths/~1api~1calendar~1break~1{date}/get/responses/200/content/application~1json/examples/with_breaks","paths/~1api~1calendar~1break~1{date}/get/responses/200/content/application~1json/examples/empty"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/GetBreaksResponse","exampleIds":["paths/~1api~1calendar~1break~1{date}/get/responses/200/content/application~1json/examples/with_breaks","paths/~1api~1calendar~1break~1{date}/get/responses/200/content/application~1json/examples/empty"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1break~1{date}/get/responses/400/content/application~1json/examples/past_date"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1break~1{date}/get/responses/400/content/application~1json/examples/past_date"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1break~1{date}/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1break~1{date}/get/responses/401/content/application~1json/examples/unauthorized"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/kalendar-pereryvy/paths/~1api~1calendar~1break~1{date}/get"}],"panels":[]}]},"httpPath":"/api/calendar/break/{date}"}],"content":{"contentType":"group","meta":{"name":"Календарь — перерывы"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Календарь — перерывы","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Получение и редактирование перерывов мастера на конкретные даты."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/api/calendar/salon/master/{master_user_id}/break","summary":"Установить перерывы мастера салона на дату","prefix":{"name":"post","color":"post"},"badges":[],"link":"/kalendar-pereryvy/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break/post","deprecated":false},{"title":"/api/calendar/salon/master/{master_user_id}/break/{date}","summary":"Получить перерывы мастера салона на дату","prefix":{"name":"get","color":"get"},"badges":[],"link":"/kalendar-pereryvy/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break~1{date}/get","deprecated":false},{"title":"/api/calendar/break","summary":"Установить перерывы текущего пользователя на указанную дату","prefix":{"name":"post","color":"post"},"badges":[],"link":"/kalendar-pereryvy/paths/~1api~1calendar~1break/post","deprecated":false},{"title":"/api/calendar/break/{date}","summary":"Получить перерывы текущего пользователя на указанную дату","prefix":{"name":"get","color":"get"},"badges":[],"link":"/kalendar-pereryvy/paths/~1api~1calendar~1break~1{date}/get","deprecated":false}]}]}]}]}},{"type":"group","label":"Календарь — параметры записи","link":"/openapi/kalendar-parametry-zapisi","routeSlug":"/openapi/kalendar-parametry-zapisi","items":[{"label":"Получить перерыв между записями мастера салона","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/kalendar-parametry-zapisi/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/get","routeSlug":"/openapi/kalendar-parametry-zapisi/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/get","metadata":{"seo":{"title":"Получить перерыв между записями мастера салона","description":"Возвращает длительность перерыва после записи для мастера салона."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить перерыв между записями мастера салона","isWebhook":false,"pointer":"/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить перерыв между записями мастера салона","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает длительность перерыва после записи для мастера салона."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"master_user_id","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID пользователя-мастера салона."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/calendar/salon/master/{master_user_id}/break-after-record","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"master_user_id","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","401","403","404"],"pointer":"/api/calendar/salon/master/{master_user_id}/break-after-record","href":"kalendar-parametry-zapisi/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/get","summary":"Получить перерыв между записями мастера салона","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Перерыв между записями получен"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BreakAfterReccordResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/get/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/BreakAfterReccordResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/get/responses/200/content/application~1json/example"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/get/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/get/responses/403/content/application~1json/examples/forbidden"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрошенный ресурс не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/get/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/get/responses/404/content/application~1json/examples/not_found"]}],"pointer":"/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/BreakAfterReccordResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/get/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BreakAfterReccordResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/get/responses/200/content/application~1json/example"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/get/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/get/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/get/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/get/responses/404/content/application~1json/examples/not_found"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/kalendar-parametry-zapisi/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/get"}],"panels":[]}]},"httpPath":"/api/calendar/salon/master/{master_user_id}/break-after-record"},{"label":"Установить перерыв между записями мастера салона","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/kalendar-parametry-zapisi/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/post","routeSlug":"/openapi/kalendar-parametry-zapisi/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/post","metadata":{"seo":{"title":"Установить перерыв между записями мастера салона","description":"Устанавливает длительность перерыва после записи для мастера салона."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Установить перерыв между записями мастера салона","isWebhook":false,"pointer":"/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Установить перерыв между записями мастера салона","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Устанавливает длительность перерыва после записи для мастера салона."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"master_user_id","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID пользователя-мастера салона."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/BreakAfterReccordBody"}},"schemaId":"components/schemas/BreakAfterReccordBody","pointer":"/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/calendar/salon/master/{master_user_id}/break-after-record","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"master_user_id","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/BreakAfterReccordBody"}},"responseCodes":["200","400","401","403","404"],"pointer":"/api/calendar/salon/master/{master_user_id}/break-after-record","href":"kalendar-parametry-zapisi/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/post","summary":"Установить перерыв между записями мастера салона","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/BreakAfterReccordBody","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/BreakAfterReccordBody"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Перерыв между записями сохранён"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BreakAfterReccordResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/post/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/BreakAfterReccordResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/post/responses/200/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/post/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/post/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/post/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/post/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/post/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/post/responses/403/content/application~1json/examples/forbidden"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрошенный ресурс не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/post/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/post/responses/404/content/application~1json/examples/not_found"]}],"pointer":"/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/BreakAfterReccordResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/post/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BreakAfterReccordResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/post/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/post/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/post/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/post/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/post/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/post/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/post/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/post/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/post/responses/404/content/application~1json/examples/not_found"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/kalendar-parametry-zapisi/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/post"}],"panels":[]}]},"httpPath":"/api/calendar/salon/master/{master_user_id}/break-after-record"},{"label":"Получить минимальное время до записи мастера салона","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/kalendar-parametry-zapisi/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/get","routeSlug":"/openapi/kalendar-parametry-zapisi/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/get","metadata":{"seo":{"title":"Получить минимальное время до записи мастера салона","description":"Возвращает минимальное время до записи для мастера салона."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить минимальное время до записи мастера салона","isWebhook":false,"pointer":"/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить минимальное время до записи мастера салона","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает минимальное время до записи для мастера салона."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"master_user_id","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID пользователя-мастера салона."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/calendar/salon/master/{master_user_id}/min-booking-lead-time","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"master_user_id","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","401","403","404"],"pointer":"/api/calendar/salon/master/{master_user_id}/min-booking-lead-time","href":"kalendar-parametry-zapisi/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/get","summary":"Получить минимальное время до записи мастера салона","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Минимальное время до записи получено"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/MinBookingLeadTimeResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/get/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/MinBookingLeadTimeResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/get/responses/200/content/application~1json/example"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/get/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/get/responses/403/content/application~1json/examples/forbidden"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрошенный ресурс не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/get/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/get/responses/404/content/application~1json/examples/not_found"]}],"pointer":"/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/MinBookingLeadTimeResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/get/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/MinBookingLeadTimeResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/get/responses/200/content/application~1json/example"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/get/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/get/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/get/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/get/responses/404/content/application~1json/examples/not_found"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/kalendar-parametry-zapisi/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/get"}],"panels":[]}]},"httpPath":"/api/calendar/salon/master/{master_user_id}/min-booking-lead-time"},{"label":"Установить минимальное время до записи мастера салона","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/kalendar-parametry-zapisi/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/post","routeSlug":"/openapi/kalendar-parametry-zapisi/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/post","metadata":{"seo":{"title":"Установить минимальное время до записи мастера салона","description":"Устанавливает минимальное время до записи для мастера салона."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Установить минимальное время до записи мастера салона","isWebhook":false,"pointer":"/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Установить минимальное время до записи мастера салона","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Устанавливает минимальное время до записи для мастера салона."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"master_user_id","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID пользователя-мастера салона."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/MinBookingLeadTimeBody"}},"schemaId":"components/schemas/MinBookingLeadTimeBody","pointer":"/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/calendar/salon/master/{master_user_id}/min-booking-lead-time","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"master_user_id","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/MinBookingLeadTimeBody"}},"responseCodes":["200","400","401","403","404"],"pointer":"/api/calendar/salon/master/{master_user_id}/min-booking-lead-time","href":"kalendar-parametry-zapisi/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/post","summary":"Установить минимальное время до записи мастера салона","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/MinBookingLeadTimeBody","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/MinBookingLeadTimeBody"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Минимальное время до записи сохранено"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/MinBookingLeadTimeResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/post/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/MinBookingLeadTimeResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/post/responses/200/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/post/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/post/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/post/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/post/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/post/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/post/responses/403/content/application~1json/examples/forbidden"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрошенный ресурс не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/post/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/post/responses/404/content/application~1json/examples/not_found"]}],"pointer":"/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/MinBookingLeadTimeResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/post/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/MinBookingLeadTimeResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/post/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/post/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/post/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/post/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/post/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/post/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/post/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/post/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/post/responses/404/content/application~1json/examples/not_found"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/kalendar-parametry-zapisi/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/post"}],"panels":[]}]},"httpPath":"/api/calendar/salon/master/{master_user_id}/min-booking-lead-time"},{"label":"Получить минимальное время до записи текущего мастера","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/kalendar-parametry-zapisi/paths/~1api~1calendar~1min-booking-lead-time/get","routeSlug":"/openapi/kalendar-parametry-zapisi/paths/~1api~1calendar~1min-booking-lead-time/get","metadata":{"seo":{"title":"Получить минимальное время до записи текущего мастера","description":"Возвращает значение min_booking_lead_time_minutes текущего авторизованного мастера."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить минимальное время до записи текущего мастера","isWebhook":false,"pointer":"/paths/~1api~1calendar~1min-booking-lead-time/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить минимальное время до записи текущего мастера","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает значение "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"min_booking_lead_time_minutes"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" текущего авторизованного мастера."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Это значение определяет, за сколько минут минимум можно создать новую запись."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"доступно только роли "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"MASTER"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/calendar/min-booking-lead-time","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","401","403"],"pointer":"/api/calendar/min-booking-lead-time","href":"kalendar-parametry-zapisi/paths/~1api~1calendar~1min-booking-lead-time/get","summary":"Получить минимальное время до записи текущего мастера","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Минимальное время до записи успешно получено"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/MinBookingLeadTimeResponse","exampleIds":["paths/~1api~1calendar~1min-booking-lead-time/get/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/MinBookingLeadTimeResponse","exampleIds":["paths/~1api~1calendar~1min-booking-lead-time/get/responses/200/content/application~1json/examples/ok"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1min-booking-lead-time/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1min-booking-lead-time/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Эндпоинт доступен только мастеру"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1min-booking-lead-time/get/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1min-booking-lead-time/get/responses/403/content/application~1json/examples/forbidden"]}],"pointer":"/paths/~1api~1calendar~1min-booking-lead-time/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/MinBookingLeadTimeResponse","exampleIds":["paths/~1api~1calendar~1min-booking-lead-time/get/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/MinBookingLeadTimeResponse","exampleIds":["paths/~1api~1calendar~1min-booking-lead-time/get/responses/200/content/application~1json/examples/ok"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1min-booking-lead-time/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1min-booking-lead-time/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1min-booking-lead-time/get/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1min-booking-lead-time/get/responses/403/content/application~1json/examples/forbidden"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/kalendar-parametry-zapisi/paths/~1api~1calendar~1min-booking-lead-time/get"}],"panels":[]}]},"httpPath":"/api/calendar/min-booking-lead-time"},{"label":"Установить минимальное время до записи текущего мастера","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/kalendar-parametry-zapisi/paths/~1api~1calendar~1min-booking-lead-time/post","routeSlug":"/openapi/kalendar-parametry-zapisi/paths/~1api~1calendar~1min-booking-lead-time/post","metadata":{"seo":{"title":"Установить минимальное время до записи текущего мастера","description":"Устанавливает значение min_booking_lead_time_minutes для текущего авторизованного мастера."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Установить минимальное время до записи текущего мастера","isWebhook":false,"pointer":"/paths/~1api~1calendar~1min-booking-lead-time/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Установить минимальное время до записи текущего мастера","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Устанавливает значение "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"min_booking_lead_time_minutes"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" для текущего авторизованного мастера."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Правила валидации:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"min_booking_lead_time_minutes"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" обязателен"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"значение должно быть JSON integer в диапазоне от 0 до 360 минут"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"доступно только роли "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"MASTER"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/MinBookingLeadTimeBody","exampleIds":["paths/~1api~1calendar~1min-booking-lead-time/post/requestBody/content/application~1json/examples/default"]}},"schemaId":"components/schemas/MinBookingLeadTimeBody","exampleIds":["paths/~1api~1calendar~1min-booking-lead-time/post/requestBody/content/application~1json/examples/default"],"pointer":"/paths/~1api~1calendar~1min-booking-lead-time/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/calendar/min-booking-lead-time","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/MinBookingLeadTimeBody","exampleIds":["paths/~1api~1calendar~1min-booking-lead-time/post/requestBody/content/application~1json/examples/default"]}},"responseCodes":["200","400","401","403","409"],"pointer":"/api/calendar/min-booking-lead-time","href":"kalendar-parametry-zapisi/paths/~1api~1calendar~1min-booking-lead-time/post","summary":"Установить минимальное время до записи текущего мастера","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/MinBookingLeadTimeBody","exampleIds":["paths/~1api~1calendar~1min-booking-lead-time/post/requestBody/content/application~1json/examples/default"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/MinBookingLeadTimeBody","exampleIds":["paths/~1api~1calendar~1min-booking-lead-time/post/requestBody/content/application~1json/examples/default"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Минимальное время до записи успешно сохранено"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/MinBookingLeadTimeResponse","exampleIds":["paths/~1api~1calendar~1min-booking-lead-time/post/responses/200/content/application~1json/examples/updated"]}},"schemaId":"components/schemas/MinBookingLeadTimeResponse","exampleIds":["paths/~1api~1calendar~1min-booking-lead-time/post/responses/200/content/application~1json/examples/updated"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело запроса"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1min-booking-lead-time/post/responses/400/content/application~1json/examples/required","paths/~1api~1calendar~1min-booking-lead-time/post/responses/400/content/application~1json/examples/min_value","paths/~1api~1calendar~1min-booking-lead-time/post/responses/400/content/application~1json/examples/max_value"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1min-booking-lead-time/post/responses/400/content/application~1json/examples/required","paths/~1api~1calendar~1min-booking-lead-time/post/responses/400/content/application~1json/examples/min_value","paths/~1api~1calendar~1min-booking-lead-time/post/responses/400/content/application~1json/examples/max_value"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1min-booking-lead-time/post/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1min-booking-lead-time/post/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Эндпоинт доступен только мастеру"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1min-booking-lead-time/post/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1min-booking-lead-time/post/responses/403/content/application~1json/examples/forbidden"]},{"code":"409","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Объект был изменён параллельным запросом; клиент должен перечитать актуальное состояние и повторить операцию"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1min-booking-lead-time/post/responses/409/content/application~1json/examples/object_modified_by_another_thread"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1min-booking-lead-time/post/responses/409/content/application~1json/examples/object_modified_by_another_thread"]}],"pointer":"/paths/~1api~1calendar~1min-booking-lead-time/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/MinBookingLeadTimeResponse","exampleIds":["paths/~1api~1calendar~1min-booking-lead-time/post/responses/200/content/application~1json/examples/updated"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/MinBookingLeadTimeResponse","exampleIds":["paths/~1api~1calendar~1min-booking-lead-time/post/responses/200/content/application~1json/examples/updated"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1min-booking-lead-time/post/responses/400/content/application~1json/examples/required","paths/~1api~1calendar~1min-booking-lead-time/post/responses/400/content/application~1json/examples/min_value","paths/~1api~1calendar~1min-booking-lead-time/post/responses/400/content/application~1json/examples/max_value"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1min-booking-lead-time/post/responses/400/content/application~1json/examples/required","paths/~1api~1calendar~1min-booking-lead-time/post/responses/400/content/application~1json/examples/min_value","paths/~1api~1calendar~1min-booking-lead-time/post/responses/400/content/application~1json/examples/max_value"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1min-booking-lead-time/post/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1min-booking-lead-time/post/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1min-booking-lead-time/post/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1min-booking-lead-time/post/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"409","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1min-booking-lead-time/post/responses/409/content/application~1json/examples/object_modified_by_another_thread"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1min-booking-lead-time/post/responses/409/content/application~1json/examples/object_modified_by_another_thread"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/kalendar-parametry-zapisi/paths/~1api~1calendar~1min-booking-lead-time/post"}],"panels":[]}]},"httpPath":"/api/calendar/min-booking-lead-time"},{"label":"Получить перерыв после услуги текущего мастера","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/kalendar-parametry-zapisi/paths/~1api~1calendar~1break-after-reccord/get","routeSlug":"/openapi/kalendar-parametry-zapisi/paths/~1api~1calendar~1break-after-reccord/get","metadata":{"seo":{"title":"Получить перерыв после услуги текущего мастера","description":"Возвращает значение break_after_service_min текущего авторизованного мастера."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить перерыв после услуги текущего мастера","isWebhook":false,"pointer":"/paths/~1api~1calendar~1break-after-reccord/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить перерыв после услуги текущего мастера","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает значение "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"break_after_service_min"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" текущего авторизованного мастера."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Это значение используется как перерыв после услуги при расчёте доступных слотов записи."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"доступно только роли "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"MASTER"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/calendar/break-after-reccord","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","401","403"],"pointer":"/api/calendar/break-after-reccord","href":"kalendar-parametry-zapisi/paths/~1api~1calendar~1break-after-reccord/get","summary":"Получить перерыв после услуги текущего мастера","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Значение перерыва после услуги успешно получено"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BreakAfterReccordResponse","exampleIds":["paths/~1api~1calendar~1break-after-reccord/get/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/BreakAfterReccordResponse","exampleIds":["paths/~1api~1calendar~1break-after-reccord/get/responses/200/content/application~1json/examples/ok"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1break-after-reccord/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1break-after-reccord/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Эндпоинт доступен только мастеру"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1break-after-reccord/get/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1break-after-reccord/get/responses/403/content/application~1json/examples/forbidden"]}],"pointer":"/paths/~1api~1calendar~1break-after-reccord/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/BreakAfterReccordResponse","exampleIds":["paths/~1api~1calendar~1break-after-reccord/get/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BreakAfterReccordResponse","exampleIds":["paths/~1api~1calendar~1break-after-reccord/get/responses/200/content/application~1json/examples/ok"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1break-after-reccord/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1break-after-reccord/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1break-after-reccord/get/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1break-after-reccord/get/responses/403/content/application~1json/examples/forbidden"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/kalendar-parametry-zapisi/paths/~1api~1calendar~1break-after-reccord/get"}],"panels":[]}]},"httpPath":"/api/calendar/break-after-reccord"},{"label":"Установить перерыв после услуги текущего мастера","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/kalendar-parametry-zapisi/paths/~1api~1calendar~1break-after-reccord/post","routeSlug":"/openapi/kalendar-parametry-zapisi/paths/~1api~1calendar~1break-after-reccord/post","metadata":{"seo":{"title":"Установить перерыв после услуги текущего мастера","description":"Устанавливает значение break_after_service_min для текущего авторизованного мастера."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Установить перерыв после услуги текущего мастера","isWebhook":false,"pointer":"/paths/~1api~1calendar~1break-after-reccord/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Установить перерыв после услуги текущего мастера","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Устанавливает значение "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"break_after_service_min"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" для текущего авторизованного мастера."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Правила валидации:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"break_after_service_min"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" обязателен"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"значение должно быть JSON integer в диапазоне от 0 до 300 минут"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"доступно только роли "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"MASTER"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/BreakAfterReccordBody","exampleIds":["paths/~1api~1calendar~1break-after-reccord/post/requestBody/content/application~1json/examples/default"]}},"schemaId":"components/schemas/BreakAfterReccordBody","exampleIds":["paths/~1api~1calendar~1break-after-reccord/post/requestBody/content/application~1json/examples/default"],"pointer":"/paths/~1api~1calendar~1break-after-reccord/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/calendar/break-after-reccord","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/BreakAfterReccordBody","exampleIds":["paths/~1api~1calendar~1break-after-reccord/post/requestBody/content/application~1json/examples/default"]}},"responseCodes":["200","400","401","403","409"],"pointer":"/api/calendar/break-after-reccord","href":"kalendar-parametry-zapisi/paths/~1api~1calendar~1break-after-reccord/post","summary":"Установить перерыв после услуги текущего мастера","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/BreakAfterReccordBody","exampleIds":["paths/~1api~1calendar~1break-after-reccord/post/requestBody/content/application~1json/examples/default"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/BreakAfterReccordBody","exampleIds":["paths/~1api~1calendar~1break-after-reccord/post/requestBody/content/application~1json/examples/default"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Значение перерыва после услуги успешно сохранено"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BreakAfterReccordResponse","exampleIds":["paths/~1api~1calendar~1break-after-reccord/post/responses/200/content/application~1json/examples/updated"]}},"schemaId":"components/schemas/BreakAfterReccordResponse","exampleIds":["paths/~1api~1calendar~1break-after-reccord/post/responses/200/content/application~1json/examples/updated"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело запроса"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1break-after-reccord/post/responses/400/content/application~1json/examples/required","paths/~1api~1calendar~1break-after-reccord/post/responses/400/content/application~1json/examples/min_value","paths/~1api~1calendar~1break-after-reccord/post/responses/400/content/application~1json/examples/max_value"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1break-after-reccord/post/responses/400/content/application~1json/examples/required","paths/~1api~1calendar~1break-after-reccord/post/responses/400/content/application~1json/examples/min_value","paths/~1api~1calendar~1break-after-reccord/post/responses/400/content/application~1json/examples/max_value"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1break-after-reccord/post/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1break-after-reccord/post/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Эндпоинт доступен только мастеру"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1break-after-reccord/post/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1break-after-reccord/post/responses/403/content/application~1json/examples/forbidden"]},{"code":"409","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Объект был изменён параллельным запросом; клиент должен перечитать актуальное состояние и повторить операцию"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1break-after-reccord/post/responses/409/content/application~1json/examples/object_modified_by_another_thread"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1break-after-reccord/post/responses/409/content/application~1json/examples/object_modified_by_another_thread"]}],"pointer":"/paths/~1api~1calendar~1break-after-reccord/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/BreakAfterReccordResponse","exampleIds":["paths/~1api~1calendar~1break-after-reccord/post/responses/200/content/application~1json/examples/updated"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BreakAfterReccordResponse","exampleIds":["paths/~1api~1calendar~1break-after-reccord/post/responses/200/content/application~1json/examples/updated"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1break-after-reccord/post/responses/400/content/application~1json/examples/required","paths/~1api~1calendar~1break-after-reccord/post/responses/400/content/application~1json/examples/min_value","paths/~1api~1calendar~1break-after-reccord/post/responses/400/content/application~1json/examples/max_value"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1break-after-reccord/post/responses/400/content/application~1json/examples/required","paths/~1api~1calendar~1break-after-reccord/post/responses/400/content/application~1json/examples/min_value","paths/~1api~1calendar~1break-after-reccord/post/responses/400/content/application~1json/examples/max_value"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1break-after-reccord/post/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1break-after-reccord/post/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1break-after-reccord/post/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1break-after-reccord/post/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"409","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1break-after-reccord/post/responses/409/content/application~1json/examples/object_modified_by_another_thread"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1break-after-reccord/post/responses/409/content/application~1json/examples/object_modified_by_another_thread"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/kalendar-parametry-zapisi/paths/~1api~1calendar~1break-after-reccord/post"}],"panels":[]}]},"httpPath":"/api/calendar/break-after-reccord"}],"content":{"contentType":"group","meta":{"name":"Календарь — параметры записи"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Календарь — параметры записи","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Настройка минимального времени до записи и перерыва между записями."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/api/calendar/salon/master/{master_user_id}/break-after-record","summary":"Получить перерыв между записями мастера салона","prefix":{"name":"get","color":"get"},"badges":[],"link":"/kalendar-parametry-zapisi/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/get","deprecated":false},{"title":"/api/calendar/salon/master/{master_user_id}/break-after-record","summary":"Установить перерыв между записями мастера салона","prefix":{"name":"post","color":"post"},"badges":[],"link":"/kalendar-parametry-zapisi/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/post","deprecated":false},{"title":"/api/calendar/salon/master/{master_user_id}/min-booking-lead-time","summary":"Получить минимальное время до записи мастера салона","prefix":{"name":"get","color":"get"},"badges":[],"link":"/kalendar-parametry-zapisi/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/get","deprecated":false},{"title":"/api/calendar/salon/master/{master_user_id}/min-booking-lead-time","summary":"Установить минимальное время до записи мастера салона","prefix":{"name":"post","color":"post"},"badges":[],"link":"/kalendar-parametry-zapisi/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/post","deprecated":false},{"title":"/api/calendar/min-booking-lead-time","summary":"Получить минимальное время до записи текущего мастера","prefix":{"name":"get","color":"get"},"badges":[],"link":"/kalendar-parametry-zapisi/paths/~1api~1calendar~1min-booking-lead-time/get","deprecated":false},{"title":"/api/calendar/min-booking-lead-time","summary":"Установить минимальное время до записи текущего мастера","prefix":{"name":"post","color":"post"},"badges":[],"link":"/kalendar-parametry-zapisi/paths/~1api~1calendar~1min-booking-lead-time/post","deprecated":false},{"title":"/api/calendar/break-after-reccord","summary":"Получить перерыв после услуги текущего мастера","prefix":{"name":"get","color":"get"},"badges":[],"link":"/kalendar-parametry-zapisi/paths/~1api~1calendar~1break-after-reccord/get","deprecated":false},{"title":"/api/calendar/break-after-reccord","summary":"Установить перерыв после услуги текущего мастера","prefix":{"name":"post","color":"post"},"badges":[],"link":"/kalendar-parametry-zapisi/paths/~1api~1calendar~1break-after-reccord/post","deprecated":false}]}]}]}]}},{"type":"group","label":"Календарь — акции","link":"/openapi/kalendar-akcii","routeSlug":"/openapi/kalendar-akcii","items":[{"label":"Установить акции текущего пользователя на указанную дату","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/kalendar-akcii/paths/~1api~1calendar~1action/post","routeSlug":"/openapi/kalendar-akcii/paths/~1api~1calendar~1action/post","metadata":{"seo":{"title":"Установить акции текущего пользователя на указанную дату","description":"Сохраняет список акционных интервалов на указанную дату."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Установить акции текущего пользователя на указанную дату","isWebhook":false,"pointer":"/paths/~1api~1calendar~1action/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Установить акции текущего пользователя на указанную дату","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Сохраняет список акционных интервалов на указанную дату."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Перед сохранением список полностью перезаписывает уже сохранённые акции на дату."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Правила валидации:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"date"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" обязателен и не должен быть раньше текущего дня"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"actions"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" обязателен"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"каждый элемент "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"actions"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" должен быть не "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"у каждого action поле "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"percent_action"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" обязательно и должно быть в диапазоне от 1 до 99"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"у каждого action поле "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"interval"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" обязательно"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"внутри каждого интервала "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"start_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"end_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" обязательны"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"end_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" должен быть позже "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"start_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" в рамках одного дня"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"минимальная длительность одного акционного интервала: 15 минут"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"акционные интервалы не должны пересекаться между собой"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"услугу с непустым "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"price_intervals"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" нельзя добавить в акционный интервал"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/CreateCalendarActionBody","exampleIds":["paths/~1api~1calendar~1action/post/requestBody/content/application~1json/examples/createAction"]}},"schemaId":"components/schemas/CreateCalendarActionBody","exampleIds":["paths/~1api~1calendar~1action/post/requestBody/content/application~1json/examples/createAction"],"pointer":"/paths/~1api~1calendar~1action/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/calendar/action","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/CreateCalendarActionBody","exampleIds":["paths/~1api~1calendar~1action/post/requestBody/content/application~1json/examples/createAction"]}},"responseCodes":["201","400","401","403","404","409"],"pointer":"/api/calendar/action","href":"kalendar-akcii/paths/~1api~1calendar~1action/post","summary":"Установить акции текущего пользователя на указанную дату","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/CreateCalendarActionBody","exampleIds":["paths/~1api~1calendar~1action/post/requestBody/content/application~1json/examples/createAction"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/CreateCalendarActionBody","exampleIds":["paths/~1api~1calendar~1action/post/requestBody/content/application~1json/examples/createAction"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Акции на дату успешно сохранены"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CreateCalendarActionResponse","exampleIds":["paths/~1api~1calendar~1action/post/responses/201/content/application~1json/examples/created"]}},"schemaId":"components/schemas/CreateCalendarActionResponse","exampleIds":["paths/~1api~1calendar~1action/post/responses/201/content/application~1json/examples/created"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело запроса или дата в прошлом"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1action/post/responses/400/content/application~1json/examples/missing_date","paths/~1api~1calendar~1action/post/responses/400/content/application~1json/examples/missing_service_ids","paths/~1api~1calendar~1action/post/responses/400/content/application~1json/examples/missing_percent_action","paths/~1api~1calendar~1action/post/responses/400/content/application~1json/examples/invalid_percent_action","paths/~1api~1calendar~1action/post/responses/400/content/application~1json/examples/missing_interval","paths/~1api~1calendar~1action/post/responses/400/content/application~1json/examples/missing_start_time","paths/~1api~1calendar~1action/post/responses/400/content/application~1json/examples/missing_end_time","paths/~1api~1calendar~1action/post/responses/400/content/application~1json/examples/invalid_interval_order","paths/~1api~1calendar~1action/post/responses/400/content/application~1json/examples/too_short_interval","paths/~1api~1calendar~1action/post/responses/400/content/application~1json/examples/overlapping_intervals","paths/~1api~1calendar~1action/post/responses/400/content/application~1json/examples/past_date"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1action/post/responses/400/content/application~1json/examples/missing_date","paths/~1api~1calendar~1action/post/responses/400/content/application~1json/examples/missing_service_ids","paths/~1api~1calendar~1action/post/responses/400/content/application~1json/examples/missing_percent_action","paths/~1api~1calendar~1action/post/responses/400/content/application~1json/examples/invalid_percent_action","paths/~1api~1calendar~1action/post/responses/400/content/application~1json/examples/missing_interval","paths/~1api~1calendar~1action/post/responses/400/content/application~1json/examples/missing_start_time","paths/~1api~1calendar~1action/post/responses/400/content/application~1json/examples/missing_end_time","paths/~1api~1calendar~1action/post/responses/400/content/application~1json/examples/invalid_interval_order","paths/~1api~1calendar~1action/post/responses/400/content/application~1json/examples/too_short_interval","paths/~1api~1calendar~1action/post/responses/400/content/application~1json/examples/overlapping_intervals","paths/~1api~1calendar~1action/post/responses/400/content/application~1json/examples/past_date"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1action/post/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1action/post/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1action/post/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1action/post/responses/403/content/application~1json/examples/forbidden"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрошенный ресурс не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1action/post/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1action/post/responses/404/content/application~1json/examples/not_found"]},{"code":"409","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Акционный интервал пересекается с существующей акцией"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1action/post/responses/409/content/application~1json/examples/overlapping_intervals"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1action/post/responses/409/content/application~1json/examples/overlapping_intervals"]}],"pointer":"/paths/~1api~1calendar~1action/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"201","schemaId":"components/schemas/CreateCalendarActionResponse","exampleIds":["paths/~1api~1calendar~1action/post/responses/201/content/application~1json/examples/created"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CreateCalendarActionResponse","exampleIds":["paths/~1api~1calendar~1action/post/responses/201/content/application~1json/examples/created"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1action/post/responses/400/content/application~1json/examples/missing_date","paths/~1api~1calendar~1action/post/responses/400/content/application~1json/examples/missing_service_ids","paths/~1api~1calendar~1action/post/responses/400/content/application~1json/examples/missing_percent_action","paths/~1api~1calendar~1action/post/responses/400/content/application~1json/examples/invalid_percent_action","paths/~1api~1calendar~1action/post/responses/400/content/application~1json/examples/missing_interval","paths/~1api~1calendar~1action/post/responses/400/content/application~1json/examples/missing_start_time","paths/~1api~1calendar~1action/post/responses/400/content/application~1json/examples/missing_end_time","paths/~1api~1calendar~1action/post/responses/400/content/application~1json/examples/invalid_interval_order","paths/~1api~1calendar~1action/post/responses/400/content/application~1json/examples/too_short_interval","paths/~1api~1calendar~1action/post/responses/400/content/application~1json/examples/overlapping_intervals","paths/~1api~1calendar~1action/post/responses/400/content/application~1json/examples/past_date"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1action/post/responses/400/content/application~1json/examples/missing_date","paths/~1api~1calendar~1action/post/responses/400/content/application~1json/examples/missing_service_ids","paths/~1api~1calendar~1action/post/responses/400/content/application~1json/examples/missing_percent_action","paths/~1api~1calendar~1action/post/responses/400/content/application~1json/examples/invalid_percent_action","paths/~1api~1calendar~1action/post/responses/400/content/application~1json/examples/missing_interval","paths/~1api~1calendar~1action/post/responses/400/content/application~1json/examples/missing_start_time","paths/~1api~1calendar~1action/post/responses/400/content/application~1json/examples/missing_end_time","paths/~1api~1calendar~1action/post/responses/400/content/application~1json/examples/invalid_interval_order","paths/~1api~1calendar~1action/post/responses/400/content/application~1json/examples/too_short_interval","paths/~1api~1calendar~1action/post/responses/400/content/application~1json/examples/overlapping_intervals","paths/~1api~1calendar~1action/post/responses/400/content/application~1json/examples/past_date"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1action/post/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1action/post/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1action/post/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1action/post/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1action/post/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1action/post/responses/404/content/application~1json/examples/not_found"]}}},{"code":"409","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1action/post/responses/409/content/application~1json/examples/overlapping_intervals"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1action/post/responses/409/content/application~1json/examples/overlapping_intervals"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/kalendar-akcii/paths/~1api~1calendar~1action/post"}],"panels":[]}]},"httpPath":"/api/calendar/action"},{"label":"Получить услуги индивидуального мастера, доступные для акционного интервала","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/kalendar-akcii/paths/~1api~1calendar~1action~1available-services/get","routeSlug":"/openapi/kalendar-akcii/paths/~1api~1calendar~1action~1available-services/get","metadata":{"seo":{"title":"Получить услуги индивидуального мастера, доступные для акционного интервала","description":"Возвращает услуги текущего индивидуального мастера, которые можно добавить в выбранный акционный интервал."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить услуги индивидуального мастера, доступные для акционного интервала","isWebhook":false,"pointer":"/paths/~1api~1calendar~1action~1available-services/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить услуги индивидуального мастера, доступные для акционного интервала","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает услуги текущего индивидуального мастера, которые можно добавить в выбранный акционный интервал."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"В список попадают только услуги с длительностью не больше выбранного интервала и хотя бы одним свободным слотом,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"который полностью входит в "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"start_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"end_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"is_dynamic_price = true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если у услуги есть хотя бы один "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"price_intervals"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", даже если выбранное время не попадает"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ни в один динамический интервал. Такие услуги нельзя использовать для создания акционного слота."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"date","in":"query","schemaId":"schema_141","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Дата, для которой проверяются свободные слоты."},"children":[]}]}]}],"required":true},{"name":"start_time","in":"query","schemaId":"schema_142","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Начало выбранного интервала в формате "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"HH:mm"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true},{"name":"end_time","in":"query","schemaId":"schema_143","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Конец выбранного интервала в формате "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"HH:mm"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1calendar~1action~1available-services/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/calendar/action/available-services","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[{"name":"date","in":"query","required":true,"example":"2026-07-05","schemaId":"schema_141"},{"name":"start_time","in":"query","required":true,"example":"17:00","schemaId":"schema_142"},{"name":"end_time","in":"query","required":true,"example":"19:00","schemaId":"schema_143"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403"],"pointer":"/api/calendar/action/available-services","href":"kalendar-akcii/paths/~1api~1calendar~1action~1available-services/get","summary":"Получить услуги индивидуального мастера, доступные для акционного интервала","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Услуги успешно получены"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AvailableActionServicesResponse","exampleIds":["paths/~1api~1calendar~1action~1available-services/get/responses/200/content/application~1json/examples/services"]}},"schemaId":"components/schemas/AvailableActionServicesResponse","exampleIds":["paths/~1api~1calendar~1action~1available-services/get/responses/200/content/application~1json/examples/services"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1action~1available-services/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1calendar~1action~1available-services/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1calendar~1action~1available-services/get/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1action~1available-services/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1calendar~1action~1available-services/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1calendar~1action~1available-services/get/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1action~1available-services/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1action~1available-services/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1action~1available-services/get/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1action~1available-services/get/responses/403/content/application~1json/examples/forbidden"]}],"pointer":"/paths/~1api~1calendar~1action~1available-services/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/AvailableActionServicesResponse","exampleIds":["paths/~1api~1calendar~1action~1available-services/get/responses/200/content/application~1json/examples/services"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AvailableActionServicesResponse","exampleIds":["paths/~1api~1calendar~1action~1available-services/get/responses/200/content/application~1json/examples/services"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1action~1available-services/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1calendar~1action~1available-services/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1calendar~1action~1available-services/get/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1action~1available-services/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1calendar~1action~1available-services/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1calendar~1action~1available-services/get/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1action~1available-services/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1action~1available-services/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1action~1available-services/get/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1action~1available-services/get/responses/403/content/application~1json/examples/forbidden"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/kalendar-akcii/paths/~1api~1calendar~1action~1available-services/get"}],"panels":[]}]},"httpPath":"/api/calendar/action/available-services"},{"label":"Получить акции текущего пользователя на указанную дату","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/kalendar-akcii/paths/~1api~1calendar~1action~1{date}/get","routeSlug":"/openapi/kalendar-akcii/paths/~1api~1calendar~1action~1{date}/get","metadata":{"seo":{"title":"Получить акции текущего пользователя на указанную дату","description":"Возвращает список акционных интервалов текущего пользователя на указанную дату."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить акции текущего пользователя на указанную дату","isWebhook":false,"pointer":"/paths/~1api~1calendar~1action~1{date}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить акции текущего пользователя на указанную дату","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает список акционных интервалов текущего пользователя на указанную дату."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Если акции на дату не заданы, возвращается пустой список "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"actions"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"обязательный path-параметр "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"date"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" в формате "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"нельзя получать акции за прошедшие даты"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"date","in":"path","schemaId":"schema_144","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Дата, для которой нужно получить список акций."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1calendar~1action~1{date}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/calendar/action/{date}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"date","in":"path","required":true,"example":"2026-04-09","schemaId":"schema_144"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401"],"pointer":"/api/calendar/action/{date}","href":"kalendar-akcii/paths/~1api~1calendar~1action~1{date}/get","summary":"Получить акции текущего пользователя на указанную дату","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Акции успешно получены"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/GetCalendarActionsResponse","exampleIds":["paths/~1api~1calendar~1action~1{date}/get/responses/200/content/application~1json/examples/with_actions","paths/~1api~1calendar~1action~1{date}/get/responses/200/content/application~1json/examples/empty"]}},"schemaId":"components/schemas/GetCalendarActionsResponse","exampleIds":["paths/~1api~1calendar~1action~1{date}/get/responses/200/content/application~1json/examples/with_actions","paths/~1api~1calendar~1action~1{date}/get/responses/200/content/application~1json/examples/empty"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректная дата запроса"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1action~1{date}/get/responses/400/content/application~1json/examples/past_date"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1action~1{date}/get/responses/400/content/application~1json/examples/past_date"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1action~1{date}/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1action~1{date}/get/responses/401/content/application~1json/examples/unauthorized"]}],"pointer":"/paths/~1api~1calendar~1action~1{date}/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/GetCalendarActionsResponse","exampleIds":["paths/~1api~1calendar~1action~1{date}/get/responses/200/content/application~1json/examples/with_actions","paths/~1api~1calendar~1action~1{date}/get/responses/200/content/application~1json/examples/empty"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/GetCalendarActionsResponse","exampleIds":["paths/~1api~1calendar~1action~1{date}/get/responses/200/content/application~1json/examples/with_actions","paths/~1api~1calendar~1action~1{date}/get/responses/200/content/application~1json/examples/empty"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1action~1{date}/get/responses/400/content/application~1json/examples/past_date"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1action~1{date}/get/responses/400/content/application~1json/examples/past_date"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1action~1{date}/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1action~1{date}/get/responses/401/content/application~1json/examples/unauthorized"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/kalendar-akcii/paths/~1api~1calendar~1action~1{date}/get"}],"panels":[]}]},"httpPath":"/api/calendar/action/{date}"},{"label":"Удалить акцию по id","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/kalendar-akcii/paths/~1api~1calendar~1action~1id~1{actionid}/delete","routeSlug":"/openapi/kalendar-akcii/paths/~1api~1calendar~1action~1id~1{actionid}/delete","metadata":{"seo":{"title":"Удалить акцию по id","description":"Удаляет одну акцию текущего мастера по id."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Удалить акцию по id","isWebhook":false,"pointer":"/paths/~1api~1calendar~1action~1id~1{actionId}/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Удалить акцию по id","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Удаляет одну акцию текущего мастера по "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"акция должна принадлежать текущему пользователю"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"actionId","in":"path","schemaId":"schema_145","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID акции."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1calendar~1action~1id~1{actionId}/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/api/calendar/action/id/{actionId}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"actionId","in":"path","required":true,"example":"5b707e70-b21b-4d1f-bc65-e3f65f80520a","schemaId":"schema_145"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","401","403","404"],"pointer":"/api/calendar/action/id/{actionId}","href":"kalendar-akcii/paths/~1api~1calendar~1action~1id~1{actionid}/delete","summary":"Удалить акцию по id","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Акция успешно удалена"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BaseResponse","exampleIds":["paths/~1api~1calendar~1action~1id~1{actionId}/delete/responses/200/content/application~1json/examples/deleted"]}},"schemaId":"components/schemas/BaseResponse","exampleIds":["paths/~1api~1calendar~1action~1id~1{actionId}/delete/responses/200/content/application~1json/examples/deleted"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1action~1id~1{actionId}/delete/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1action~1id~1{actionId}/delete/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1action~1id~1{actionId}/delete/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1action~1id~1{actionId}/delete/responses/403/content/application~1json/examples/forbidden"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрошенный ресурс не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1action~1id~1{actionId}/delete/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1action~1id~1{actionId}/delete/responses/404/content/application~1json/examples/not_found"]}],"pointer":"/paths/~1api~1calendar~1action~1id~1{actionId}/delete/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/BaseResponse","exampleIds":["paths/~1api~1calendar~1action~1id~1{actionId}/delete/responses/200/content/application~1json/examples/deleted"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BaseResponse","exampleIds":["paths/~1api~1calendar~1action~1id~1{actionId}/delete/responses/200/content/application~1json/examples/deleted"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1action~1id~1{actionId}/delete/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1action~1id~1{actionId}/delete/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1action~1id~1{actionId}/delete/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1action~1id~1{actionId}/delete/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1action~1id~1{actionId}/delete/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1action~1id~1{actionId}/delete/responses/404/content/application~1json/examples/not_found"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/kalendar-akcii/paths/~1api~1calendar~1action~1id~1{actionid}/delete"}],"panels":[]}]},"httpPath":"/api/calendar/action/id/{actionId}"},{"label":"Создать акцию для мастера салона","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/kalendar-akcii/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action/post","routeSlug":"/openapi/kalendar-akcii/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action/post","metadata":{"seo":{"title":"Создать акцию для мастера салона","description":"Создает одну акцию со скидкой для конкретного мастера в салоне текущего пользователя."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Создать акцию для мастера салона","isWebhook":false,"pointer":"/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Создать акцию для мастера салона","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Создает одну акцию со скидкой для конкретного мастера в салоне текущего пользователя."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрос может выполнить владелец салона или админ салона. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"service_ids"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" должны принадлежать владельцу салона"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"и должны быть назначены мастеру из path-параметра "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"master_user_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Правила валидации:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"date"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" обязателен и не должен быть раньше текущего дня"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"interval"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" обязателен"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"interval.start_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"interval.end_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" обязательны в формате "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"HH:mm"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"end_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" должен быть позже "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"start_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" в рамках одного дня"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"минимальная длительность интервала акции: 15 минут"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"percent_action"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" обязателен и должен быть от 1 до 99"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"service_ids"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" обязателен, не должен быть пустым, не должен содержать "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и дубликаты"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"интервалы акций одного мастера салона не должны пересекаться"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"услугу с непустым "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"price_intervals"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" нельзя добавить в акционный интервал"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"master_user_id","in":"path","schemaId":"schema_146","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"User id мастера салона, для которого создается акция."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/CreateCalendarActionBody","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action/post/requestBody/content/application~1json/examples/createSalonMasterAction"]}},"schemaId":"components/schemas/CreateCalendarActionBody","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action/post/requestBody/content/application~1json/examples/createSalonMasterAction"],"pointer":"/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/calendar/salon/master/{master_user_id}/action","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"master_user_id","in":"path","required":true,"example":92001003,"schemaId":"schema_146"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/CreateCalendarActionBody","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action/post/requestBody/content/application~1json/examples/createSalonMasterAction"]}},"responseCodes":["201","400","401","403","404","409"],"pointer":"/api/calendar/salon/master/{master_user_id}/action","href":"kalendar-akcii/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action/post","summary":"Создать акцию для мастера салона","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/CreateCalendarActionBody","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action/post/requestBody/content/application~1json/examples/createSalonMasterAction"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/CreateCalendarActionBody","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action/post/requestBody/content/application~1json/examples/createSalonMasterAction"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Акция мастера салона успешно создана"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CreateCalendarActionResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action/post/responses/201/content/application~1json/examples/created"]}},"schemaId":"components/schemas/CreateCalendarActionResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action/post/responses/201/content/application~1json/examples/created"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело запроса или дата в прошлом"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action/post/responses/400/content/application~1json/examples/missing_date","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action/post/responses/400/content/application~1json/examples/invalid_percent_action","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action/post/responses/400/content/application~1json/examples/duplicate_service_ids","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action/post/responses/400/content/application~1json/examples/too_short_interval","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action/post/responses/400/content/application~1json/examples/past_date"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action/post/responses/400/content/application~1json/examples/missing_date","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action/post/responses/400/content/application~1json/examples/invalid_percent_action","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action/post/responses/400/content/application~1json/examples/duplicate_service_ids","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action/post/responses/400/content/application~1json/examples/too_short_interval","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action/post/responses/400/content/application~1json/examples/past_date"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action/post/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action/post/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Пользователь не может управлять акциями этого мастера салона или услуга недоступна мастеру"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action/post/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action/post/responses/403/content/application~1json/examples/forbidden"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Услуга не найдена"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action/post/responses/404/content/application~1json/examples/service_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action/post/responses/404/content/application~1json/examples/service_not_found"]},{"code":"409","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Интервал акции пересекается с существующей акцией этого мастера салона"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action/post/responses/409/content/application~1json/examples/overlapping_intervals"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action/post/responses/409/content/application~1json/examples/overlapping_intervals"]}],"pointer":"/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"201","schemaId":"components/schemas/CreateCalendarActionResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action/post/responses/201/content/application~1json/examples/created"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CreateCalendarActionResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action/post/responses/201/content/application~1json/examples/created"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action/post/responses/400/content/application~1json/examples/missing_date","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action/post/responses/400/content/application~1json/examples/invalid_percent_action","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action/post/responses/400/content/application~1json/examples/duplicate_service_ids","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action/post/responses/400/content/application~1json/examples/too_short_interval","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action/post/responses/400/content/application~1json/examples/past_date"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action/post/responses/400/content/application~1json/examples/missing_date","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action/post/responses/400/content/application~1json/examples/invalid_percent_action","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action/post/responses/400/content/application~1json/examples/duplicate_service_ids","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action/post/responses/400/content/application~1json/examples/too_short_interval","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action/post/responses/400/content/application~1json/examples/past_date"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action/post/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action/post/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action/post/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action/post/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action/post/responses/404/content/application~1json/examples/service_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action/post/responses/404/content/application~1json/examples/service_not_found"]}}},{"code":"409","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action/post/responses/409/content/application~1json/examples/overlapping_intervals"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action/post/responses/409/content/application~1json/examples/overlapping_intervals"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/kalendar-akcii/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action/post"}],"panels":[]}]},"httpPath":"/api/calendar/salon/master/{master_user_id}/action"},{"label":"Получить услуги мастера салона, доступные для акционного интервала","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/kalendar-akcii/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1available-services/get","routeSlug":"/openapi/kalendar-akcii/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1available-services/get","metadata":{"seo":{"title":"Получить услуги мастера салона, доступные для акционного интервала","description":"Возвращает услуги мастера салона, которые можно добавить в выбранный акционный интервал."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить услуги мастера салона, доступные для акционного интервала","isWebhook":false,"pointer":"/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1available-services/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить услуги мастера салона, доступные для акционного интервала","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает услуги мастера салона, которые можно добавить в выбранный акционный интервал."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрос может выполнить владелец салона или админ того же салона, к которому относится "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"master_user_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Услуги берутся из услуг салона и дополнительно должны быть назначены выбранному мастеру."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"is_dynamic_price = true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если у услуги есть хотя бы один "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"price_intervals"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", даже если выбранное время не попадает"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ни в один динамический интервал. Такие услуги нельзя использовать для создания акционного слота."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"master_user_id","in":"path","schemaId":"schema_146","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"User id мастера салона."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1available-services/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"date","in":"query","schemaId":"schema_141","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Дата, для которой проверяются свободные слоты."},"children":[]}]}]}],"required":true},{"name":"start_time","in":"query","schemaId":"schema_142","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Начало выбранного интервала в формате "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"HH:mm"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true},{"name":"end_time","in":"query","schemaId":"schema_143","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Конец выбранного интервала в формате "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"HH:mm"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1available-services/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/calendar/salon/master/{master_user_id}/action/available-services","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"master_user_id","in":"path","required":true,"example":92001003,"schemaId":"schema_146"}],"query":[{"name":"date","in":"query","required":true,"example":"2026-07-05","schemaId":"schema_141"},{"name":"start_time","in":"query","required":true,"example":"17:00","schemaId":"schema_142"},{"name":"end_time","in":"query","required":true,"example":"19:00","schemaId":"schema_143"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403"],"pointer":"/api/calendar/salon/master/{master_user_id}/action/available-services","href":"kalendar-akcii/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1available-services/get","summary":"Получить услуги мастера салона, доступные для акционного интервала","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Услуги мастера салона успешно получены"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AvailableActionServicesResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1available-services/get/responses/200/content/application~1json/examples/services"]}},"schemaId":"components/schemas/AvailableActionServicesResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1available-services/get/responses/200/content/application~1json/examples/services"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1available-services/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1available-services/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1available-services/get/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1available-services/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1available-services/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1available-services/get/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1available-services/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1available-services/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1available-services/get/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1available-services/get/responses/403/content/application~1json/examples/forbidden"]}],"pointer":"/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1available-services/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/AvailableActionServicesResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1available-services/get/responses/200/content/application~1json/examples/services"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AvailableActionServicesResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1available-services/get/responses/200/content/application~1json/examples/services"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1available-services/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1available-services/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1available-services/get/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1available-services/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1available-services/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1available-services/get/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1available-services/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1available-services/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1available-services/get/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1available-services/get/responses/403/content/application~1json/examples/forbidden"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/kalendar-akcii/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1available-services/get"}],"panels":[]}]},"httpPath":"/api/calendar/salon/master/{master_user_id}/action/available-services"},{"label":"Получить акции мастера салона по дате","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/kalendar-akcii/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1{date}/get","routeSlug":"/openapi/kalendar-akcii/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1{date}/get","metadata":{"seo":{"title":"Получить акции мастера салона по дате","description":"Возвращает акции со скидкой для конкретного мастера в салоне текущего пользователя на указанную дату."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить акции мастера салона по дате","isWebhook":false,"pointer":"/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1{date}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить акции мастера салона по дате","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает акции со скидкой для конкретного мастера в салоне текущего пользователя на указанную дату."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрос может выполнить владелец салона или админ того же салона, к которому относится "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"master_user_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"master_user_id","in":"path","schemaId":"schema_146","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"User id мастера салона, для которого нужно получить акции."},"children":[]}]}]}],"required":true},{"name":"date","in":"path","schemaId":"schema_141","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Дата в формате "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1{date}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/calendar/salon/master/{master_user_id}/action/{date}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"master_user_id","in":"path","required":true,"example":92001003,"schemaId":"schema_146"},{"name":"date","in":"path","required":true,"example":"2026-07-05","schemaId":"schema_141"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403"],"pointer":"/api/calendar/salon/master/{master_user_id}/action/{date}","href":"kalendar-akcii/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1{date}/get","summary":"Получить акции мастера салона по дате","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Акции мастера салона успешно получены"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/GetCalendarActionsResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1{date}/get/responses/200/content/application~1json/examples/with_actions","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1{date}/get/responses/200/content/application~1json/examples/empty"]}},"schemaId":"components/schemas/GetCalendarActionsResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1{date}/get/responses/200/content/application~1json/examples/with_actions","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1{date}/get/responses/200/content/application~1json/examples/empty"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректная дата"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1{date}/get/responses/400/content/application~1json/examples/past_date"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1{date}/get/responses/400/content/application~1json/examples/past_date"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1{date}/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1{date}/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Пользователь не может получить акции этого мастера салона"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1{date}/get/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1{date}/get/responses/403/content/application~1json/examples/forbidden"]}],"pointer":"/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1{date}/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/GetCalendarActionsResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1{date}/get/responses/200/content/application~1json/examples/with_actions","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1{date}/get/responses/200/content/application~1json/examples/empty"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/GetCalendarActionsResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1{date}/get/responses/200/content/application~1json/examples/with_actions","paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1{date}/get/responses/200/content/application~1json/examples/empty"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1{date}/get/responses/400/content/application~1json/examples/past_date"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1{date}/get/responses/400/content/application~1json/examples/past_date"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1{date}/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1{date}/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1{date}/get/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1{date}/get/responses/403/content/application~1json/examples/forbidden"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/kalendar-akcii/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1{date}/get"}],"panels":[]}]},"httpPath":"/api/calendar/salon/master/{master_user_id}/action/{date}"},{"label":"Удалить акцию мастера салона по id","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/kalendar-akcii/paths/~1api~1calendar~1salon~1action~1id~1{actionid}/delete","routeSlug":"/openapi/kalendar-akcii/paths/~1api~1calendar~1salon~1action~1id~1{actionid}/delete","metadata":{"seo":{"title":"Удалить акцию мастера салона по id","description":"Удаляет одну акцию мастера салона по UUID."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Удалить акцию мастера салона по id","isWebhook":false,"pointer":"/paths/~1api~1calendar~1salon~1action~1id~1{actionId}/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Удалить акцию мастера салона по id","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Удаляет одну акцию мастера салона по UUID."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрос может выполнить владелец салона или админ салона. Акция должна принадлежать владельцу салона пользователя."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"actionId","in":"path","schemaId":"schema_147","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"UUID акции."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1calendar~1salon~1action~1id~1{actionId}/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/api/calendar/salon/action/id/{actionId}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"actionId","in":"path","required":true,"example":"4b5eaf3d-ad0e-4683-87d0-4c877948343c","schemaId":"schema_147"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","401","403","404"],"pointer":"/api/calendar/salon/action/id/{actionId}","href":"kalendar-akcii/paths/~1api~1calendar~1salon~1action~1id~1{actionid}/delete","summary":"Удалить акцию мастера салона по id","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Акция мастера салона успешно удалена"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BaseResponse","exampleIds":["paths/~1api~1calendar~1salon~1action~1id~1{actionId}/delete/responses/200/content/application~1json/examples/deleted"]}},"schemaId":"components/schemas/BaseResponse","exampleIds":["paths/~1api~1calendar~1salon~1action~1id~1{actionId}/delete/responses/200/content/application~1json/examples/deleted"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1action~1id~1{actionId}/delete/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1action~1id~1{actionId}/delete/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Пользователь не может удалить эту акцию"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1action~1id~1{actionId}/delete/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1action~1id~1{actionId}/delete/responses/403/content/application~1json/examples/forbidden"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Акция не найдена"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1action~1id~1{actionId}/delete/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1action~1id~1{actionId}/delete/responses/404/content/application~1json/examples/not_found"]}],"pointer":"/paths/~1api~1calendar~1salon~1action~1id~1{actionId}/delete/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/BaseResponse","exampleIds":["paths/~1api~1calendar~1salon~1action~1id~1{actionId}/delete/responses/200/content/application~1json/examples/deleted"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BaseResponse","exampleIds":["paths/~1api~1calendar~1salon~1action~1id~1{actionId}/delete/responses/200/content/application~1json/examples/deleted"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1action~1id~1{actionId}/delete/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1action~1id~1{actionId}/delete/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1action~1id~1{actionId}/delete/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1action~1id~1{actionId}/delete/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1action~1id~1{actionId}/delete/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1salon~1action~1id~1{actionId}/delete/responses/404/content/application~1json/examples/not_found"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/kalendar-akcii/paths/~1api~1calendar~1salon~1action~1id~1{actionid}/delete"}],"panels":[]}]},"httpPath":"/api/calendar/salon/action/id/{actionId}"}],"content":{"contentType":"group","meta":{"name":"Календарь — акции"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Календарь — акции","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Управление акционными интервалами и получение доступных для них услуг."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/api/calendar/action","summary":"Установить акции текущего пользователя на указанную дату","prefix":{"name":"post","color":"post"},"badges":[],"link":"/kalendar-akcii/paths/~1api~1calendar~1action/post","deprecated":false},{"title":"/api/calendar/action/available-services","summary":"Получить услуги индивидуального мастера, доступные для акционного интервала","prefix":{"name":"get","color":"get"},"badges":[],"link":"/kalendar-akcii/paths/~1api~1calendar~1action~1available-services/get","deprecated":false},{"title":"/api/calendar/action/{date}","summary":"Получить акции текущего пользователя на указанную дату","prefix":{"name":"get","color":"get"},"badges":[],"link":"/kalendar-akcii/paths/~1api~1calendar~1action~1{date}/get","deprecated":false},{"title":"/api/calendar/action/id/{actionId}","summary":"Удалить акцию по id","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/kalendar-akcii/paths/~1api~1calendar~1action~1id~1{actionid}/delete","deprecated":false},{"title":"/api/calendar/salon/master/{master_user_id}/action","summary":"Создать акцию для мастера салона","prefix":{"name":"post","color":"post"},"badges":[],"link":"/kalendar-akcii/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action/post","deprecated":false},{"title":"/api/calendar/salon/master/{master_user_id}/action/available-services","summary":"Получить услуги мастера салона, доступные для акционного интервала","prefix":{"name":"get","color":"get"},"badges":[],"link":"/kalendar-akcii/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1available-services/get","deprecated":false},{"title":"/api/calendar/salon/master/{master_user_id}/action/{date}","summary":"Получить акции мастера салона по дате","prefix":{"name":"get","color":"get"},"badges":[],"link":"/kalendar-akcii/paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1{date}/get","deprecated":false},{"title":"/api/calendar/salon/action/id/{actionId}","summary":"Удалить акцию мастера салона по id","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/kalendar-akcii/paths/~1api~1calendar~1salon~1action~1id~1{actionid}/delete","deprecated":false}]}]}]}]}},{"type":"group","label":"Календарь — заметки","link":"/openapi/kalendar-zametki","routeSlug":"/openapi/kalendar-zametki","items":[{"label":"Получить заметки салона на дату","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/kalendar-zametki/paths/~1api~1calendar~1notes~1{date}/get","routeSlug":"/openapi/kalendar-zametki/paths/~1api~1calendar~1notes~1{date}/get","metadata":{"seo":{"title":"Получить заметки салона на дату","description":"Возвращает все заметки салона на указанную дату в порядке возрастания id."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить заметки салона на дату","isWebhook":false,"pointer":"/paths/~1api~1calendar~1notes~1{date}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить заметки салона на дату","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает все заметки салона на указанную дату в порядке возрастания "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Владелец салона имеет доступ всегда. Администратор салона должен иметь permission"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"STAFF_SCHEDULE_MANAGE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Мастер салона и пользователи без роли салона доступ не имеют."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Заметки выбираются по владельцу салона, поэтому администратор и владелец получают один и тот же набор данных."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требуется JWT. Дата может быть любой корректной календарной датой, включая прошедшую."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"date","in":"path","schemaId":"schema_148","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Дата заметок в формате ISO-8601."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1calendar~1notes~1{date}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/calendar/notes/{date}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"date","in":"path","required":true,"example":"2026-09-02","schemaId":"schema_148"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403"],"pointer":"/api/calendar/notes/{date}","href":"kalendar-zametki/paths/~1api~1calendar~1notes~1{date}/get","summary":"Получить заметки салона на дату","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Заметки успешно получены"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/NotesResponse","exampleIds":["paths/~1api~1calendar~1notes~1{date}/get/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/NotesResponse","exampleIds":["paths/~1api~1calendar~1notes~1{date}/get/responses/200/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Дата передана в неверном формате"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1notes~1{date}/get/responses/400/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1notes~1{date}/get/responses/400/content/application~1json/example"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1notes~1{date}/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1notes~1{date}/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Пользователь не является владельцем или участником салона с доступом к заметкам"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1notes~1{date}/get/responses/403/content/application~1json/examples/salon_only","paths/~1api~1calendar~1notes~1{date}/get/responses/403/content/application~1json/examples/permission_denied"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1notes~1{date}/get/responses/403/content/application~1json/examples/salon_only","paths/~1api~1calendar~1notes~1{date}/get/responses/403/content/application~1json/examples/permission_denied"]}],"pointer":"/paths/~1api~1calendar~1notes~1{date}/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/NotesResponse","exampleIds":["paths/~1api~1calendar~1notes~1{date}/get/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/NotesResponse","exampleIds":["paths/~1api~1calendar~1notes~1{date}/get/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1notes~1{date}/get/responses/400/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1notes~1{date}/get/responses/400/content/application~1json/example"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1notes~1{date}/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1notes~1{date}/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1notes~1{date}/get/responses/403/content/application~1json/examples/salon_only","paths/~1api~1calendar~1notes~1{date}/get/responses/403/content/application~1json/examples/permission_denied"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1notes~1{date}/get/responses/403/content/application~1json/examples/salon_only","paths/~1api~1calendar~1notes~1{date}/get/responses/403/content/application~1json/examples/permission_denied"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/kalendar-zametki/paths/~1api~1calendar~1notes~1{date}/get"}],"panels":[]}]},"httpPath":"/api/calendar/notes/{date}"},{"label":"Создать заметку салона на дату","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/kalendar-zametki/paths/~1api~1calendar~1notes~1{date}/post","routeSlug":"/openapi/kalendar-zametki/paths/~1api~1calendar~1notes~1{date}/post","metadata":{"seo":{"title":"Создать заметку салона на дату","description":"Создает заметку салона на указанную дату и возвращает полный список заметок этой даты,отсортированный по id."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Создать заметку салона на дату","isWebhook":false,"pointer":"/paths/~1api~1calendar~1notes~1{date}/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Создать заметку салона на дату","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Создает заметку салона на указанную дату и возвращает полный список заметок этой даты,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"отсортированный по "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"text"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" обязателен, не должен быть пустым или состоять только из пробелов и не может быть длиннее 500 символов."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Дата может быть сегодняшней или будущей."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Владелец салона имеет доступ всегда. Администратор салона должен иметь permission"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"STAFF_SCHEDULE_MANAGE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Мастер салона и пользователи без роли салона доступ не имеют."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Заметка сохраняется с "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"owner_user_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" владельца салона, а не с ID администратора."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требуется JWT."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"date","in":"path","schemaId":"schema_148","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Дата заметки в формате ISO-8601. Для создания дата не должна быть раньше текущего дня."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1calendar~1notes~1{date}/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/CreateNoteBody","exampleIds":["paths/~1api~1calendar~1notes~1{date}/post/requestBody/content/application~1json/example"]}},"schemaId":"components/schemas/CreateNoteBody","exampleIds":["paths/~1api~1calendar~1notes~1{date}/post/requestBody/content/application~1json/example"],"pointer":"/paths/~1api~1calendar~1notes~1{date}/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/calendar/notes/{date}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"date","in":"path","required":true,"example":"2026-09-02","schemaId":"schema_148"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/CreateNoteBody","exampleIds":["paths/~1api~1calendar~1notes~1{date}/post/requestBody/content/application~1json/example"]}},"responseCodes":["201","400","401","403"],"pointer":"/api/calendar/notes/{date}","href":"kalendar-zametki/paths/~1api~1calendar~1notes~1{date}/post","summary":"Создать заметку салона на дату","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/CreateNoteBody","exampleIds":["paths/~1api~1calendar~1notes~1{date}/post/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/CreateNoteBody","exampleIds":["paths/~1api~1calendar~1notes~1{date}/post/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Заметка успешно создана"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/NotesResponse","exampleIds":["paths/~1api~1calendar~1notes~1{date}/post/responses/201/content/application~1json/example"]}},"schemaId":"components/schemas/NotesResponse","exampleIds":["paths/~1api~1calendar~1notes~1{date}/post/responses/201/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректная дата или тело запроса"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1notes~1{date}/post/responses/400/content/application~1json/examples/invalid_date","paths/~1api~1calendar~1notes~1{date}/post/responses/400/content/application~1json/examples/invalid_text"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1notes~1{date}/post/responses/400/content/application~1json/examples/invalid_date","paths/~1api~1calendar~1notes~1{date}/post/responses/400/content/application~1json/examples/invalid_text"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1notes~1{date}/post/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1notes~1{date}/post/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1notes~1{date}/post/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1notes~1{date}/post/responses/403/content/application~1json/examples/forbidden"]}],"pointer":"/paths/~1api~1calendar~1notes~1{date}/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"201","schemaId":"components/schemas/NotesResponse","exampleIds":["paths/~1api~1calendar~1notes~1{date}/post/responses/201/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/NotesResponse","exampleIds":["paths/~1api~1calendar~1notes~1{date}/post/responses/201/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1notes~1{date}/post/responses/400/content/application~1json/examples/invalid_date","paths/~1api~1calendar~1notes~1{date}/post/responses/400/content/application~1json/examples/invalid_text"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1notes~1{date}/post/responses/400/content/application~1json/examples/invalid_date","paths/~1api~1calendar~1notes~1{date}/post/responses/400/content/application~1json/examples/invalid_text"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1notes~1{date}/post/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1notes~1{date}/post/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1notes~1{date}/post/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1notes~1{date}/post/responses/403/content/application~1json/examples/forbidden"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/kalendar-zametki/paths/~1api~1calendar~1notes~1{date}/post"}],"panels":[]}]},"httpPath":"/api/calendar/notes/{date}"},{"label":"Изменить заметки салона на дату","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/kalendar-zametki/paths/~1api~1calendar~1notes~1{date}/patch","routeSlug":"/openapi/kalendar-zametki/paths/~1api~1calendar~1notes~1{date}/patch","metadata":{"seo":{"title":"Изменить заметки салона на дату","description":"Изменяет текст нескольких заметок салона на указанную дату.Тело запроса должно содержать непустой список объектов id → text."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Изменить заметки салона на дату","isWebhook":false,"pointer":"/paths/~1api~1calendar~1notes~1{date}/patch","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Изменить заметки салона на дату","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Изменяет текст нескольких заметок салона на указанную дату."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Тело запроса должно содержать непустой список объектов "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" → "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"text"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Каждый "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" должен быть положительным, уникальным, существовать у владельца салона"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"и относиться к переданной дате. Обновление выполняется только после проверки всего списка."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"В ответе возвращается полный список заметок этой даты, отсортированный по "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Владелец салона имеет доступ всегда. Администратор салона должен иметь permission"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"STAFF_SCHEDULE_MANAGE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Мастер салона и пользователи без роли салона доступ не имеют."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требуется JWT."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"date","in":"path","schemaId":"schema_148","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Дата заметок в формате ISO-8601."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1calendar~1notes~1{date}/patch/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_149","exampleIds":["paths/~1api~1calendar~1notes~1{date}/patch/requestBody/content/application~1json/example"]}},"schemaId":"schema_149","exampleIds":["paths/~1api~1calendar~1notes~1{date}/patch/requestBody/content/application~1json/example"],"pointer":"/paths/~1api~1calendar~1notes~1{date}/patch/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PATCH","path":"/api/calendar/notes/{date}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"date","in":"path","required":true,"example":"2026-09-02","schemaId":"schema_148"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_149","exampleIds":["paths/~1api~1calendar~1notes~1{date}/patch/requestBody/content/application~1json/example"]}},"responseCodes":["200","400","401","403","404"],"pointer":"/api/calendar/notes/{date}","href":"kalendar-zametki/paths/~1api~1calendar~1notes~1{date}/patch","summary":"Изменить заметки салона на дату","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"schema_149","exampleIds":["paths/~1api~1calendar~1notes~1{date}/patch/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_149","exampleIds":["paths/~1api~1calendar~1notes~1{date}/patch/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Заметки успешно изменены"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/NotesResponse","exampleIds":["paths/~1api~1calendar~1notes~1{date}/patch/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/NotesResponse","exampleIds":["paths/~1api~1calendar~1notes~1{date}/patch/responses/200/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректная дата, пустой список, поля элемента или принадлежность заметки другой дате"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1notes~1{date}/patch/responses/400/content/application~1json/examples/empty_list","paths/~1api~1calendar~1notes~1{date}/patch/responses/400/content/application~1json/examples/duplicate_ids","paths/~1api~1calendar~1notes~1{date}/patch/responses/400/content/application~1json/examples/wrong_date"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1notes~1{date}/patch/responses/400/content/application~1json/examples/empty_list","paths/~1api~1calendar~1notes~1{date}/patch/responses/400/content/application~1json/examples/duplicate_ids","paths/~1api~1calendar~1notes~1{date}/patch/responses/400/content/application~1json/examples/wrong_date"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1notes~1{date}/patch/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1notes~1{date}/patch/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Пользователь не имеет доступа к одной из заметок или endpoint’у"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Одна из заметок не найдена"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1notes~1{date}/patch/responses/404/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1notes~1{date}/patch/responses/404/content/application~1json/example"]}],"pointer":"/paths/~1api~1calendar~1notes~1{date}/patch/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/NotesResponse","exampleIds":["paths/~1api~1calendar~1notes~1{date}/patch/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/NotesResponse","exampleIds":["paths/~1api~1calendar~1notes~1{date}/patch/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1notes~1{date}/patch/responses/400/content/application~1json/examples/empty_list","paths/~1api~1calendar~1notes~1{date}/patch/responses/400/content/application~1json/examples/duplicate_ids","paths/~1api~1calendar~1notes~1{date}/patch/responses/400/content/application~1json/examples/wrong_date"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1notes~1{date}/patch/responses/400/content/application~1json/examples/empty_list","paths/~1api~1calendar~1notes~1{date}/patch/responses/400/content/application~1json/examples/duplicate_ids","paths/~1api~1calendar~1notes~1{date}/patch/responses/400/content/application~1json/examples/wrong_date"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1notes~1{date}/patch/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1notes~1{date}/patch/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1notes~1{date}/patch/responses/404/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1notes~1{date}/patch/responses/404/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/kalendar-zametki/paths/~1api~1calendar~1notes~1{date}/patch"}],"panels":[]}]},"httpPath":"/api/calendar/notes/{date}"},{"label":"Удалить заметку салона","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/kalendar-zametki/paths/~1api~1calendar~1notes~1{date}/delete","routeSlug":"/openapi/kalendar-zametki/paths/~1api~1calendar~1notes~1{date}/delete","metadata":{"seo":{"title":"Удалить заметку салона","description":"Удаляет заметку по её положительному id."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Удалить заметку салона","isWebhook":false,"pointer":"/paths/~1api~1calendar~1notes~1{date}/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Удалить заметку салона","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Удаляет заметку по её положительному "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Из-за текущего маршрута Spring один и тот же path-шаблон используется для даты в GET/POST/PATCH"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"и для ID заметки в DELETE. Для DELETE значение path-параметра является именно ID заметки."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Проверяется принадлежность заметки владельцу салона, поэтому удалить заметку другого салона нельзя."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Владелец салона имеет доступ всегда. Администратор салона должен иметь permission"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"STAFF_SCHEDULE_MANAGE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Мастер салона и пользователи без роли салона доступ не имеют."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требуется JWT."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"date","in":"path","schemaId":"schema_150","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Для DELETE это положительный ID удаляемой заметки, несмотря на имя параметра маршрута."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1calendar~1notes~1{date}/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/api/calendar/notes/{date}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"date","in":"path","required":true,"example":101,"schemaId":"schema_150"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403","404"],"pointer":"/api/calendar/notes/{date}","href":"kalendar-zametki/paths/~1api~1calendar~1notes~1{date}/delete","summary":"Удалить заметку салона","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Заметка успешно удалена"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1calendar~1notes~1{date}/delete/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1calendar~1notes~1{date}/delete/responses/200/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID заметки не является положительным числом"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1notes~1{date}/delete/responses/400/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1notes~1{date}/delete/responses/400/content/application~1json/example"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1notes~1{date}/delete/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1notes~1{date}/delete/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1notes~1{date}/delete/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1notes~1{date}/delete/responses/403/content/application~1json/examples/forbidden"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Заметка не найдена"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1notes~1{date}/delete/responses/404/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1notes~1{date}/delete/responses/404/content/application~1json/example"]}],"pointer":"/paths/~1api~1calendar~1notes~1{date}/delete/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1calendar~1notes~1{date}/delete/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1calendar~1notes~1{date}/delete/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1notes~1{date}/delete/responses/400/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1notes~1{date}/delete/responses/400/content/application~1json/example"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1notes~1{date}/delete/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1notes~1{date}/delete/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1notes~1{date}/delete/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1notes~1{date}/delete/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1notes~1{date}/delete/responses/404/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1calendar~1notes~1{date}/delete/responses/404/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/kalendar-zametki/paths/~1api~1calendar~1notes~1{date}/delete"}],"panels":[]}]},"httpPath":"/api/calendar/notes/{date}"}],"content":{"contentType":"group","meta":{"name":"Календарь — заметки"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Календарь — заметки","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Получение и редактирование заметок салона по датам."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/api/calendar/notes/{date}","summary":"Получить заметки салона на дату","prefix":{"name":"get","color":"get"},"badges":[],"link":"/kalendar-zametki/paths/~1api~1calendar~1notes~1{date}/get","deprecated":false},{"title":"/api/calendar/notes/{date}","summary":"Создать заметку салона на дату","prefix":{"name":"post","color":"post"},"badges":[],"link":"/kalendar-zametki/paths/~1api~1calendar~1notes~1{date}/post","deprecated":false},{"title":"/api/calendar/notes/{date}","summary":"Изменить заметки салона на дату","prefix":{"name":"patch","color":"patch"},"badges":[],"link":"/kalendar-zametki/paths/~1api~1calendar~1notes~1{date}/patch","deprecated":false},{"title":"/api/calendar/notes/{date}","summary":"Удалить заметку салона","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/kalendar-zametki/paths/~1api~1calendar~1notes~1{date}/delete","deprecated":false}]}]}]}]}},{"type":"group","label":"Услуги","link":"/openapi/uslugi","routeSlug":"/openapi/uslugi","items":[{"label":"Создать услугу","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/uslugi/paths/~1api~1service/post","routeSlug":"/openapi/uslugi/paths/~1api~1service/post","metadata":{"seo":{"title":"Создать услугу","description":"Создает новую услугу текущего мастера или участника салона."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Создать услугу","isWebhook":false,"pointer":"/paths/~1api~1service/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Создать услугу","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Создает новую услугу текущего мастера или участника салона."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Для индивидуального мастера "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"provider_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" созданной услуги равен id текущего пользователя."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Для роли "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SALON"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" backend находит салон текущего пользователя, получает id владельца салона"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"и записывает его в "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"provider_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" услуги. Это относится и к владельцу салона, и к админу салона."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Правила валидации:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"name"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" не должен быть пустым и не должен быть длиннее 120 символов"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"description"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" не должен быть пустым и не должен быть длиннее 4000 символов"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"price"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" должен быть в диапазоне от 1 до 100000"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"discount_percent"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если передан в "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"POST /api/service"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", должен быть в диапазоне от 0 до 100; "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"0"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" означает отсутствие скидки, "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"1..100"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" задает скидку услуги при создании"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"duration"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" должен быть в диапазоне от 1 до 1440 минут"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"category_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" должен быть положительным ID существующей конечной подкатегории"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"корневую категорию или категорию с дочерними категориями нельзя назначить услуге"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"images"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" должен содержать от 1 до 10 уникальных положительных ID файлов в порядке клиента"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"для индивидуального мастера "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"service_locations"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" обязателен и должен содержать от 1 до 3 объектов с уникальными "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"service_location"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"IN_SALON"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"AT_MASTER_PLACE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CLIENT_PLACE"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"в каждом объекте "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"service_locations"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" обязателен непустой "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"address"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"в каждом объекте можно передать "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"geolocation"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; координаты сохраняются напрямую без повторного геокодирования"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"если в объекте передан "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"address"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" без "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"geolocation"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", backend геокодирует этот адрес; при ошибке возвращается "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"422 geocoding_failed"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"для "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"IN_SALON"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" обязателен непустой "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"salon_name"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"для "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CLIENT_PLACE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" обязателен "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"radius_km"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" со значением "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"1"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"5"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"10"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" или "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"20"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"салонная услуга использует адрес и координаты самого салона; поля "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"service_locations"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"address"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"geolocation"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" для роли "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SALON"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" запрещены и приводят к "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"400 invalid_body"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"advantages"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" должен содержать не больше 5 уникальных непустых строк до 50 символов"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"только роли "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"MASTER"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" или "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SALON"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"файлы из "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"images"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" должны быть доступны текущему пользователю"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"файлы из "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"images"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" должны иметь purpose "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CARD"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/CreateServiceRequest","exampleIds":["paths/~1api~1service/post/requestBody/content/application~1json/examples/individualMaster","paths/~1api~1service/post/requestBody/content/application~1json/examples/salonService"]}},"schemaId":"components/schemas/CreateServiceRequest","exampleIds":["paths/~1api~1service/post/requestBody/content/application~1json/examples/individualMaster","paths/~1api~1service/post/requestBody/content/application~1json/examples/salonService"],"pointer":"/paths/~1api~1service/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/service","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/CreateServiceRequest","exampleIds":["paths/~1api~1service/post/requestBody/content/application~1json/examples/individualMaster","paths/~1api~1service/post/requestBody/content/application~1json/examples/salonService"]}},"responseCodes":["201","400","401","403","422"],"pointer":"/api/service","href":"uslugi/paths/~1api~1service/post","summary":"Создать услугу","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/CreateServiceRequest","exampleIds":["paths/~1api~1service/post/requestBody/content/application~1json/examples/individualMaster","paths/~1api~1service/post/requestBody/content/application~1json/examples/salonService"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/CreateServiceRequest","exampleIds":["paths/~1api~1service/post/requestBody/content/application~1json/examples/individualMaster","paths/~1api~1service/post/requestBody/content/application~1json/examples/salonService"]}},"examples":[{},{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Услуга успешно создана"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ServiceSingleResponse","exampleIds":["paths/~1api~1service/post/responses/201/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/ServiceSingleResponse","exampleIds":["paths/~1api~1service/post/responses/201/content/application~1json/examples/ok"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело запроса или ошибка валидации услуги"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service/post/responses/400/content/application~1json/examples/invalid_body"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service/post/responses/400/content/application~1json/examples/invalid_body"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service/post/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service/post/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Недостаточно прав для создания услуги или доступа к файлам услуги"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service/post/responses/403/content/application~1json/examples/role_forbidden","paths/~1api~1service/post/responses/403/content/application~1json/examples/no_file_access","paths/~1api~1service/post/responses/403/content/application~1json/examples/invalid_file_purpose"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service/post/responses/403/content/application~1json/examples/role_forbidden","paths/~1api~1service/post/responses/403/content/application~1json/examples/no_file_access","paths/~1api~1service/post/responses/403/content/application~1json/examples/invalid_file_purpose"]},{"code":"422","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Адрес услуги не удалось геокодировать"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service/post/responses/422/content/application~1json/examples/geocoding_failed"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service/post/responses/422/content/application~1json/examples/geocoding_failed"]}],"pointer":"/paths/~1api~1service/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"201","schemaId":"components/schemas/ServiceSingleResponse","exampleIds":["paths/~1api~1service/post/responses/201/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ServiceSingleResponse","exampleIds":["paths/~1api~1service/post/responses/201/content/application~1json/examples/ok"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service/post/responses/400/content/application~1json/examples/invalid_body"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service/post/responses/400/content/application~1json/examples/invalid_body"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service/post/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service/post/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service/post/responses/403/content/application~1json/examples/role_forbidden","paths/~1api~1service/post/responses/403/content/application~1json/examples/no_file_access","paths/~1api~1service/post/responses/403/content/application~1json/examples/invalid_file_purpose"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service/post/responses/403/content/application~1json/examples/role_forbidden","paths/~1api~1service/post/responses/403/content/application~1json/examples/no_file_access","paths/~1api~1service/post/responses/403/content/application~1json/examples/invalid_file_purpose"]}}},{"code":"422","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service/post/responses/422/content/application~1json/examples/geocoding_failed"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service/post/responses/422/content/application~1json/examples/geocoding_failed"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/uslugi/paths/~1api~1service/post"}],"panels":[]}]},"httpPath":"/api/service"},{"label":"Получить свои услуги провайдера","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/uslugi/paths/~1api~1service~1provider/get","routeSlug":"/openapi/uslugi/paths/~1api~1service~1provider/get","metadata":{"seo":{"title":"Получить свои услуги провайдера","description":"Возвращает список услуг, где provider_id равен id текущего авторизованного пользователя."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить свои услуги провайдера","isWebhook":false,"pointer":"/paths/~1api~1service~1provider/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить свои услуги провайдера","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает список услуг, где "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"provider_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" равен id текущего авторизованного пользователя."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Для индивидуального мастера это список его услуг."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Для владельца салона это список услуг салона, потому что услуги салона хранятся на user id владельца."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Для админа салона этот endpoint ищет услуги по user id админа; чтобы получить услуги салона,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"используйте "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET /api/service/salon/{salonId}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" или "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET /api/service/provider/{owner_id}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Если у провайдера нет услуг, сервер возвращает пустой массив."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется роль с permission "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"USER"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/service/provider","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","401","403"],"pointer":"/api/service/provider","href":"uslugi/paths/~1api~1service~1provider/get","summary":"Получить свои услуги провайдера","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Список услуг текущего провайдера успешно получен"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ServiceListResponse","exampleIds":["paths/~1api~1service~1provider/get/responses/200/content/application~1json/examples/ok","paths/~1api~1service~1provider/get/responses/200/content/application~1json/examples/empty"]}},"schemaId":"components/schemas/ServiceListResponse","exampleIds":["paths/~1api~1service~1provider/get/responses/200/content/application~1json/examples/ok","paths/~1api~1service~1provider/get/responses/200/content/application~1json/examples/empty"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1provider/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1provider/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1provider/get/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1provider/get/responses/403/content/application~1json/examples/forbidden"]}],"pointer":"/paths/~1api~1service~1provider/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/ServiceListResponse","exampleIds":["paths/~1api~1service~1provider/get/responses/200/content/application~1json/examples/ok","paths/~1api~1service~1provider/get/responses/200/content/application~1json/examples/empty"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ServiceListResponse","exampleIds":["paths/~1api~1service~1provider/get/responses/200/content/application~1json/examples/ok","paths/~1api~1service~1provider/get/responses/200/content/application~1json/examples/empty"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1provider/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1provider/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1provider/get/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1provider/get/responses/403/content/application~1json/examples/forbidden"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/uslugi/paths/~1api~1service~1provider/get"}],"panels":[]}]},"httpPath":"/api/service/provider"},{"label":"Получить доступные шаблоны услуг по категории","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/uslugi/paths/~1api~1service-catalog~1by-category~1{categoryid}/get","routeSlug":"/openapi/uslugi/paths/~1api~1service-catalog~1by-category~1{categoryid}/get","metadata":{"seo":{"title":"Получить доступные шаблоны услуг по категории","description":"Возвращает персональный справочник шаблонов услуг для быстрого заполнения формы создания услуги."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить доступные шаблоны услуг по категории","isWebhook":false,"pointer":"/paths/~1api~1service-catalog~1by-category~1{categoryId}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить доступные шаблоны услуг по категории","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает персональный справочник шаблонов услуг для быстрого заполнения формы создания услуги."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Поведение зависит от уровня переданной категории:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"категория первого уровня — шаблоны возвращаются группами по её категориям второго уровня;"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"категория второго уровня — возвращается не более одной группы этой категории;"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"категории глубже второго уровня не поддерживаются."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Из ответа исключаются шаблоны, для которых у текущего авторизованного пользователя уже есть"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"услуга в той же категории с таким же названием без учёта регистра и пробелов по краям."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Это только фильтрация справочника: endpoint создания услуги не запрещает вручную создавать дубли."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется роль с permission "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"USER"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":";"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT."},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"categoryId","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор категории первого или второго уровня"},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1service-catalog~1by-category~1{categoryId}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/service-catalog/by-category/{categoryId}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"categoryId","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403","404"],"pointer":"/api/service-catalog/by-category/{categoryId}","href":"uslugi/paths/~1api~1service-catalog~1by-category~1{categoryid}/get","summary":"Получить доступные шаблоны услуг по категории","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступные шаблоны услуг успешно получены"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ServiceCatalogResponse","exampleIds":["paths/~1api~1service-catalog~1by-category~1{categoryId}/get/responses/200/content/application~1json/examples/root_category","paths/~1api~1service-catalog~1by-category~1{categoryId}/get/responses/200/content/application~1json/examples/no_available_templates"]}},"schemaId":"components/schemas/ServiceCatalogResponse","exampleIds":["paths/~1api~1service-catalog~1by-category~1{categoryId}/get/responses/200/content/application~1json/examples/root_category","paths/~1api~1service-catalog~1by-category~1{categoryId}/get/responses/200/content/application~1json/examples/no_available_templates"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректный id или категория глубже второго уровня"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service-catalog~1by-category~1{categoryId}/get/responses/400/content/application~1json/examples/invalid_id","paths/~1api~1service-catalog~1by-category~1{categoryId}/get/responses/400/content/application~1json/examples/unsupported_level"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service-catalog~1by-category~1{categoryId}/get/responses/400/content/application~1json/examples/invalid_id","paths/~1api~1service-catalog~1by-category~1{categoryId}/get/responses/400/content/application~1json/examples/unsupported_level"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service-catalog~1by-category~1{categoryId}/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service-catalog~1by-category~1{categoryId}/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service-catalog~1by-category~1{categoryId}/get/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service-catalog~1by-category~1{categoryId}/get/responses/403/content/application~1json/examples/forbidden"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Категория не найдена"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service-catalog~1by-category~1{categoryId}/get/responses/404/content/application~1json/examples/category_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service-catalog~1by-category~1{categoryId}/get/responses/404/content/application~1json/examples/category_not_found"]}],"pointer":"/paths/~1api~1service-catalog~1by-category~1{categoryId}/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/ServiceCatalogResponse","exampleIds":["paths/~1api~1service-catalog~1by-category~1{categoryId}/get/responses/200/content/application~1json/examples/root_category","paths/~1api~1service-catalog~1by-category~1{categoryId}/get/responses/200/content/application~1json/examples/no_available_templates"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ServiceCatalogResponse","exampleIds":["paths/~1api~1service-catalog~1by-category~1{categoryId}/get/responses/200/content/application~1json/examples/root_category","paths/~1api~1service-catalog~1by-category~1{categoryId}/get/responses/200/content/application~1json/examples/no_available_templates"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service-catalog~1by-category~1{categoryId}/get/responses/400/content/application~1json/examples/invalid_id","paths/~1api~1service-catalog~1by-category~1{categoryId}/get/responses/400/content/application~1json/examples/unsupported_level"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service-catalog~1by-category~1{categoryId}/get/responses/400/content/application~1json/examples/invalid_id","paths/~1api~1service-catalog~1by-category~1{categoryId}/get/responses/400/content/application~1json/examples/unsupported_level"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service-catalog~1by-category~1{categoryId}/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service-catalog~1by-category~1{categoryId}/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service-catalog~1by-category~1{categoryId}/get/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service-catalog~1by-category~1{categoryId}/get/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service-catalog~1by-category~1{categoryId}/get/responses/404/content/application~1json/examples/category_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service-catalog~1by-category~1{categoryId}/get/responses/404/content/application~1json/examples/category_not_found"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/uslugi/paths/~1api~1service-catalog~1by-category~1{categoryid}/get"}],"panels":[]}]},"httpPath":"/api/service-catalog/by-category/{categoryId}"},{"label":"Получить допустимые радиусы выезда к клиенту","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/uslugi/paths/~1api~1service~1client-place-radius-options/get","routeSlug":"/openapi/uslugi/paths/~1api~1service~1client-place-radius-options/get","metadata":{"seo":{"title":"Получить допустимые радиусы выезда к клиенту","description":"Получить допустимые радиусы выезда к клиенту"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить допустимые радиусы выезда к клиенту","isWebhook":false,"pointer":"/paths/~1api~1service~1client-place-radius-options/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить допустимые радиусы выезда к клиенту","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"empty-message","label":"No request data","labelTranslationKey":"noRequestData"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/service/client-place-radius-options","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200"],"pointer":"/api/service/client-place-radius-options","href":"uslugi/paths/~1api~1service~1client-place-radius-options/get","summary":"Получить допустимые радиусы выезда к клиенту"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Список допустимых радиусов в километрах"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_151","exampleIds":["paths/~1api~1service~1client-place-radius-options/get/responses/200/content/application~1json/example"]}},"schemaId":"schema_151","exampleIds":["paths/~1api~1service~1client-place-radius-options/get/responses/200/content/application~1json/example"]}],"pointer":"/paths/~1api~1service~1client-place-radius-options/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_151","exampleIds":["paths/~1api~1service~1client-place-radius-options/get/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_151","exampleIds":["paths/~1api~1service~1client-place-radius-options/get/responses/200/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/uslugi/paths/~1api~1service~1client-place-radius-options/get"}],"panels":[]}]},"httpPath":"/api/service/client-place-radius-options"},{"label":"Получить услугу по id","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/uslugi/paths/~1api~1service~1{serviceid}/get","routeSlug":"/openapi/uslugi/paths/~1api~1service~1{serviceid}/get","metadata":{"seo":{"title":"Получить услугу по id","description":"Возвращает услугу по ее идентификатору."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить услугу по id","isWebhook":false,"pointer":"/paths/~1api~1service~1{serviceId}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить услугу по id","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает услугу по ее идентификатору."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"serviceId","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор услуги"},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1service~1{serviceId}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/service/{serviceId}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"serviceId","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403","404"],"pointer":"/api/service/{serviceId}","href":"uslugi/paths/~1api~1service~1{serviceid}/get","summary":"Получить услугу по id","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Услуга успешно получена"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ServiceSingleResponse","exampleIds":["paths/~1api~1service~1{serviceId}/get/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/ServiceSingleResponse","exampleIds":["paths/~1api~1service~1{serviceId}/get/responses/200/content/application~1json/examples/ok"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректный идентификатор услуги"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1{serviceId}/get/responses/400/content/application~1json/examples/invalid_id"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1{serviceId}/get/responses/400/content/application~1json/examples/invalid_id"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1{serviceId}/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1{serviceId}/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1{serviceId}/get/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1{serviceId}/get/responses/403/content/application~1json/examples/forbidden"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрошенный ресурс не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1{serviceId}/get/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1{serviceId}/get/responses/404/content/application~1json/examples/not_found"]}],"pointer":"/paths/~1api~1service~1{serviceId}/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/ServiceSingleResponse","exampleIds":["paths/~1api~1service~1{serviceId}/get/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ServiceSingleResponse","exampleIds":["paths/~1api~1service~1{serviceId}/get/responses/200/content/application~1json/examples/ok"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1{serviceId}/get/responses/400/content/application~1json/examples/invalid_id"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1{serviceId}/get/responses/400/content/application~1json/examples/invalid_id"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1{serviceId}/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1{serviceId}/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1{serviceId}/get/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1{serviceId}/get/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1{serviceId}/get/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1{serviceId}/get/responses/404/content/application~1json/examples/not_found"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/uslugi/paths/~1api~1service~1{serviceid}/get"}],"panels":[]}]},"httpPath":"/api/service/{serviceId}"},{"label":"Обновить услугу","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/uslugi/paths/~1api~1service~1{serviceid}/patch","routeSlug":"/openapi/uslugi/paths/~1api~1service~1{serviceid}/patch","metadata":{"seo":{"title":"Обновить услугу","description":"Частично обновляет услугу по ее идентификатору."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Обновить услугу","isWebhook":false,"pointer":"/paths/~1api~1service~1{serviceId}/patch","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Обновить услугу","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Частично обновляет услугу по ее идентификатору."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Для роли "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SALON"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" проверка доступа к услуге выполняется через владельца салона:"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"backend находит салон текущего пользователя, получает id владельца салона и проверяет,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"что услуга принадлежит этому owner id. Файлы из "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"images"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"по-прежнему проверяются по текущему пользователю, который отправил запрос."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Правила валидации:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"хотя бы одно поле должно быть заполнено корректно"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"name"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если передан, не должен быть пустым и не должен быть длиннее 120 символов"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"price"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" должен быть в диапазоне от 1 до 100000"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"discount_percent"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" меняет скидку услуги: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"0"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" сохраняется как "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"0"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и означает отсутствие скидки, значения "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"1..100"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" устанавливают скидку, отсутствие поля не меняет текущую скидку"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"duration"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" должен быть в диапазоне от 1 до 1440 минут"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"description"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если передан, не должен быть пустым и не должен быть длиннее 4000 символов"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"category_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если передан, должен быть положительным ID существующей конечной подкатегории"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"корневую категорию или категорию с дочерними категориями нельзя назначить услуге"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"если передан "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"images"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", он должен содержать от 1 до 10 уникальных положительных ID файлов в порядке клиента"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"если передан "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"images"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", все файлы должны иметь purpose "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CARD"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"для услуги индивидуального мастера "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"service_locations"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если передан, должен содержать от 1 до 3 объектов с уникальными "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"service_location"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"IN_SALON"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"AT_MASTER_PLACE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CLIENT_PLACE"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"для услуги индивидуального мастера проверяются итоговые места оказания: переданные в запросе либо уже сохранённые в услуге"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"в каждом переданном объекте "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"service_locations"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" обязателен непустой "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"address"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"в каждом объекте можно передать "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"geolocation"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; координаты сохраняются напрямую без повторного геокодирования"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"если в объекте передан "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"address"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" без "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"geolocation"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", backend геокодирует этот адрес; при ошибке возвращается "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"422 geocoding_failed"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"для "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"IN_SALON"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" обязателен непустой "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"salon_name"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"для "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CLIENT_PLACE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" обязателен "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"radius_km"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" со значением "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"1"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"5"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"10"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" или "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"20"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"у салонной услуги нельзя изменять "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"service_locations"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"address"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"geolocation"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; она использует адрес и координаты самого салона, а передача любого из этих полей приводит к "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"400 invalid_body"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"мастер должен иметь доступ к услуге как ее владелец"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"владелец или админ салона должен иметь доступ к услуге через owner id салона"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"если передан "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"images"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", все файлы должны быть доступны пользователю"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"serviceId","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор услуги"},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1service~1{serviceId}/patch/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/UpdateServiceRequest","exampleIds":["paths/~1api~1service~1{serviceId}/patch/requestBody/content/application~1json/examples/renameAndPrice","paths/~1api~1service~1{serviceId}/patch/requestBody/content/application~1json/examples/setDiscount","paths/~1api~1service~1{serviceId}/patch/requestBody/content/application~1json/examples/removeDiscount","paths/~1api~1service~1{serviceId}/patch/requestBody/content/application~1json/examples/changeCategory","paths/~1api~1service~1{serviceId}/patch/requestBody/content/application~1json/examples/replaceImages","paths/~1api~1service~1{serviceId}/patch/requestBody/content/application~1json/examples/updateIndividualLocation"]}},"schemaId":"components/schemas/UpdateServiceRequest","exampleIds":["paths/~1api~1service~1{serviceId}/patch/requestBody/content/application~1json/examples/renameAndPrice","paths/~1api~1service~1{serviceId}/patch/requestBody/content/application~1json/examples/setDiscount","paths/~1api~1service~1{serviceId}/patch/requestBody/content/application~1json/examples/removeDiscount","paths/~1api~1service~1{serviceId}/patch/requestBody/content/application~1json/examples/changeCategory","paths/~1api~1service~1{serviceId}/patch/requestBody/content/application~1json/examples/replaceImages","paths/~1api~1service~1{serviceId}/patch/requestBody/content/application~1json/examples/updateIndividualLocation"],"pointer":"/paths/~1api~1service~1{serviceId}/patch/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PATCH","path":"/api/service/{serviceId}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"serviceId","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/UpdateServiceRequest","exampleIds":["paths/~1api~1service~1{serviceId}/patch/requestBody/content/application~1json/examples/renameAndPrice","paths/~1api~1service~1{serviceId}/patch/requestBody/content/application~1json/examples/setDiscount","paths/~1api~1service~1{serviceId}/patch/requestBody/content/application~1json/examples/removeDiscount","paths/~1api~1service~1{serviceId}/patch/requestBody/content/application~1json/examples/changeCategory","paths/~1api~1service~1{serviceId}/patch/requestBody/content/application~1json/examples/replaceImages","paths/~1api~1service~1{serviceId}/patch/requestBody/content/application~1json/examples/updateIndividualLocation"]}},"responseCodes":["200","400","401","403","404","409","422"],"pointer":"/api/service/{serviceId}","href":"uslugi/paths/~1api~1service~1{serviceid}/patch","summary":"Обновить услугу","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/UpdateServiceRequest","exampleIds":["paths/~1api~1service~1{serviceId}/patch/requestBody/content/application~1json/examples/renameAndPrice","paths/~1api~1service~1{serviceId}/patch/requestBody/content/application~1json/examples/setDiscount","paths/~1api~1service~1{serviceId}/patch/requestBody/content/application~1json/examples/removeDiscount","paths/~1api~1service~1{serviceId}/patch/requestBody/content/application~1json/examples/changeCategory","paths/~1api~1service~1{serviceId}/patch/requestBody/content/application~1json/examples/replaceImages","paths/~1api~1service~1{serviceId}/patch/requestBody/content/application~1json/examples/updateIndividualLocation"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/UpdateServiceRequest","exampleIds":["paths/~1api~1service~1{serviceId}/patch/requestBody/content/application~1json/examples/renameAndPrice","paths/~1api~1service~1{serviceId}/patch/requestBody/content/application~1json/examples/setDiscount","paths/~1api~1service~1{serviceId}/patch/requestBody/content/application~1json/examples/removeDiscount","paths/~1api~1service~1{serviceId}/patch/requestBody/content/application~1json/examples/changeCategory","paths/~1api~1service~1{serviceId}/patch/requestBody/content/application~1json/examples/replaceImages","paths/~1api~1service~1{serviceId}/patch/requestBody/content/application~1json/examples/updateIndividualLocation"]}},"examples":[{},{},{},{},{},{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Услуга успешно обработана"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ServiceUpdateResponse","exampleIds":["paths/~1api~1service~1{serviceId}/patch/responses/200/content/application~1json/examples/changed","paths/~1api~1service~1{serviceId}/patch/responses/200/content/application~1json/examples/unchanged"]}},"schemaId":"components/schemas/ServiceUpdateResponse","exampleIds":["paths/~1api~1service~1{serviceId}/patch/responses/200/content/application~1json/examples/changed","paths/~1api~1service~1{serviceId}/patch/responses/200/content/application~1json/examples/unchanged"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело запроса или ошибка валидации услуги"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1{serviceId}/patch/responses/400/content/application~1json/examples/invalid_body"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1{serviceId}/patch/responses/400/content/application~1json/examples/invalid_body"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1{serviceId}/patch/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1{serviceId}/patch/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Недостаточно прав для изменения услуги или доступа к ее файлам"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1{serviceId}/patch/responses/403/content/application~1json/examples/forbidden","paths/~1api~1service~1{serviceId}/patch/responses/403/content/application~1json/examples/no_file_access","paths/~1api~1service~1{serviceId}/patch/responses/403/content/application~1json/examples/invalid_file_purpose"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1{serviceId}/patch/responses/403/content/application~1json/examples/forbidden","paths/~1api~1service~1{serviceId}/patch/responses/403/content/application~1json/examples/no_file_access","paths/~1api~1service~1{serviceId}/patch/responses/403/content/application~1json/examples/invalid_file_purpose"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрошенный ресурс не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1{serviceId}/patch/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1{serviceId}/patch/responses/404/content/application~1json/examples/not_found"]},{"code":"409","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Объект был изменён параллельным запросом; клиент должен перечитать актуальное состояние и повторить операцию"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1{serviceId}/patch/responses/409/content/application~1json/examples/object_modified_by_another_thread"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1{serviceId}/patch/responses/409/content/application~1json/examples/object_modified_by_another_thread"]},{"code":"422","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Адрес услуги не удалось геокодировать"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1{serviceId}/patch/responses/422/content/application~1json/examples/geocoding_failed"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1{serviceId}/patch/responses/422/content/application~1json/examples/geocoding_failed"]}],"pointer":"/paths/~1api~1service~1{serviceId}/patch/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/ServiceUpdateResponse","exampleIds":["paths/~1api~1service~1{serviceId}/patch/responses/200/content/application~1json/examples/changed","paths/~1api~1service~1{serviceId}/patch/responses/200/content/application~1json/examples/unchanged"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ServiceUpdateResponse","exampleIds":["paths/~1api~1service~1{serviceId}/patch/responses/200/content/application~1json/examples/changed","paths/~1api~1service~1{serviceId}/patch/responses/200/content/application~1json/examples/unchanged"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1{serviceId}/patch/responses/400/content/application~1json/examples/invalid_body"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1{serviceId}/patch/responses/400/content/application~1json/examples/invalid_body"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1{serviceId}/patch/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1{serviceId}/patch/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1{serviceId}/patch/responses/403/content/application~1json/examples/forbidden","paths/~1api~1service~1{serviceId}/patch/responses/403/content/application~1json/examples/no_file_access","paths/~1api~1service~1{serviceId}/patch/responses/403/content/application~1json/examples/invalid_file_purpose"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1{serviceId}/patch/responses/403/content/application~1json/examples/forbidden","paths/~1api~1service~1{serviceId}/patch/responses/403/content/application~1json/examples/no_file_access","paths/~1api~1service~1{serviceId}/patch/responses/403/content/application~1json/examples/invalid_file_purpose"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1{serviceId}/patch/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1{serviceId}/patch/responses/404/content/application~1json/examples/not_found"]}}},{"code":"409","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1{serviceId}/patch/responses/409/content/application~1json/examples/object_modified_by_another_thread"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1{serviceId}/patch/responses/409/content/application~1json/examples/object_modified_by_another_thread"]}}},{"code":"422","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1{serviceId}/patch/responses/422/content/application~1json/examples/geocoding_failed"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1{serviceId}/patch/responses/422/content/application~1json/examples/geocoding_failed"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/uslugi/paths/~1api~1service~1{serviceid}/patch"}],"panels":[]}]},"httpPath":"/api/service/{serviceId}"},{"label":"Удалить услугу","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/uslugi/paths/~1api~1service~1{serviceid}/delete","routeSlug":"/openapi/uslugi/paths/~1api~1service~1{serviceid}/delete","metadata":{"seo":{"title":"Удалить услугу","description":"Удаляет услугу по ее идентификатору."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Удалить услугу","isWebhook":false,"pointer":"/paths/~1api~1service~1{serviceId}/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Удалить услугу","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Удаляет услугу по ее идентификатору."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Для роли "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SALON"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" проверка доступа к услуге выполняется через владельца салона:"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"backend находит салон текущего пользователя, получает id владельца салона и удаляет услугу,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"если она принадлежит этому owner id."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"мастер должен иметь доступ к услуге как ее владелец"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"владелец или админ салона должен иметь доступ к услуге через owner id салона"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"услугу нельзя удалить, если по ней уже есть бронирования"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"serviceId","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор услуги"},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1service~1{serviceId}/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/api/service/{serviceId}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"serviceId","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403","404","409"],"pointer":"/api/service/{serviceId}","href":"uslugi/paths/~1api~1service~1{serviceid}/delete","summary":"Удалить услугу","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Услуга успешно удалена"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1service~1{serviceId}/delete/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1service~1{serviceId}/delete/responses/200/content/application~1json/examples/ok"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректный идентификатор услуги"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1{serviceId}/delete/responses/400/content/application~1json/examples/invalid_id"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1{serviceId}/delete/responses/400/content/application~1json/examples/invalid_id"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1{serviceId}/delete/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1{serviceId}/delete/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Недостаточно прав для удаления услуги"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1{serviceId}/delete/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1{serviceId}/delete/responses/403/content/application~1json/examples/forbidden"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Услуга не найдена"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1{serviceId}/delete/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1{serviceId}/delete/responses/404/content/application~1json/examples/not_found"]},{"code":"409","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Услугу нельзя удалить из-за связанных бронирований"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1{serviceId}/delete/responses/409/content/application~1json/examples/has_bookings"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1{serviceId}/delete/responses/409/content/application~1json/examples/has_bookings"]}],"pointer":"/paths/~1api~1service~1{serviceId}/delete/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1service~1{serviceId}/delete/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1service~1{serviceId}/delete/responses/200/content/application~1json/examples/ok"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1{serviceId}/delete/responses/400/content/application~1json/examples/invalid_id"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1{serviceId}/delete/responses/400/content/application~1json/examples/invalid_id"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1{serviceId}/delete/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1{serviceId}/delete/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1{serviceId}/delete/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1{serviceId}/delete/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1{serviceId}/delete/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1{serviceId}/delete/responses/404/content/application~1json/examples/not_found"]}}},{"code":"409","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1{serviceId}/delete/responses/409/content/application~1json/examples/has_bookings"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1{serviceId}/delete/responses/409/content/application~1json/examples/has_bookings"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/uslugi/paths/~1api~1service~1{serviceid}/delete"}],"panels":[]}]},"httpPath":"/api/service/{serviceId}"},{"label":"Получить услуги провайдера","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/uslugi/paths/~1api~1service~1provider~1{providerid}/get","routeSlug":"/openapi/uslugi/paths/~1api~1service~1provider~1{providerid}/get","metadata":{"seo":{"title":"Получить услуги провайдера","description":"Возвращает список услуг, принадлежащих указанному провайдеру."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить услуги провайдера","isWebhook":false,"pointer":"/paths/~1api~1service~1provider~1{providerId}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить услуги провайдера","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает список услуг, принадлежащих указанному провайдеру."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Если у пользователя нет услуг, сервер возвращает пустой массив."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"providerId","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор провайдера. Для салона передается user id владельца салона."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1service~1provider~1{providerId}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/service/provider/{providerId}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"providerId","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403"],"pointer":"/api/service/provider/{providerId}","href":"uslugi/paths/~1api~1service~1provider~1{providerid}/get","summary":"Получить услуги провайдера","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Список услуг успешно получен"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ServiceListResponse","exampleIds":["paths/~1api~1service~1provider~1{providerId}/get/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/ServiceListResponse","exampleIds":["paths/~1api~1service~1provider~1{providerId}/get/responses/200/content/application~1json/examples/ok"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректный идентификатор провайдера"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1provider~1{providerId}/get/responses/400/content/application~1json/examples/invalid_id"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1provider~1{providerId}/get/responses/400/content/application~1json/examples/invalid_id"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1provider~1{providerId}/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1provider~1{providerId}/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1provider~1{providerId}/get/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1provider~1{providerId}/get/responses/403/content/application~1json/examples/forbidden"]}],"pointer":"/paths/~1api~1service~1provider~1{providerId}/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/ServiceListResponse","exampleIds":["paths/~1api~1service~1provider~1{providerId}/get/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ServiceListResponse","exampleIds":["paths/~1api~1service~1provider~1{providerId}/get/responses/200/content/application~1json/examples/ok"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1provider~1{providerId}/get/responses/400/content/application~1json/examples/invalid_id"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1provider~1{providerId}/get/responses/400/content/application~1json/examples/invalid_id"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1provider~1{providerId}/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1provider~1{providerId}/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1provider~1{providerId}/get/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1provider~1{providerId}/get/responses/403/content/application~1json/examples/forbidden"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/uslugi/paths/~1api~1service~1provider~1{providerid}/get"}],"panels":[]}]},"httpPath":"/api/service/provider/{providerId}"},{"label":"Получить услуги салона","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/uslugi/paths/~1api~1service~1salon~1{salonid}/get","routeSlug":"/openapi/uslugi/paths/~1api~1service~1salon~1{salonid}/get","metadata":{"seo":{"title":"Получить услуги салона","description":"Возвращает список услуг салона по id салона."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить услуги салона","isWebhook":false,"pointer":"/paths/~1api~1service~1salon~1{salonId}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить услуги салона","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает список услуг салона по id салона."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Ответ содержит объект "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"data"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" со snake_case полями:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"salon_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - id салона из path"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"owner_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - user id владельца салона"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"services"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - список услуг владельца салона"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"у салонных услуг "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"service_locations"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" равен "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; адрес и координаты услуги берутся из полей "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"address"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"geo"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", заполненных по местоположению салона"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется роль с permission "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"USER"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"админ салона имеет default-доступ через access module без "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SALON_SERVICES_MANAGE"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"salonId","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор салона"},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1service~1salon~1{salonId}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/service/salon/{salonId}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"salonId","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403","404"],"pointer":"/api/service/salon/{salonId}","href":"uslugi/paths/~1api~1service~1salon~1{salonid}/get","summary":"Получить услуги салона","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Список услуг салона успешно получен"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SalonServicesResponse","exampleIds":["paths/~1api~1service~1salon~1{salonId}/get/responses/200/content/application~1json/examples/ok","paths/~1api~1service~1salon~1{salonId}/get/responses/200/content/application~1json/examples/empty"]}},"schemaId":"components/schemas/SalonServicesResponse","exampleIds":["paths/~1api~1service~1salon~1{salonId}/get/responses/200/content/application~1json/examples/ok","paths/~1api~1service~1salon~1{salonId}/get/responses/200/content/application~1json/examples/empty"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректный идентификатор салона"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1salon~1{salonId}/get/responses/400/content/application~1json/examples/invalid_id"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1salon~1{salonId}/get/responses/400/content/application~1json/examples/invalid_id"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1salon~1{salonId}/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1salon~1{salonId}/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1salon~1{salonId}/get/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1salon~1{salonId}/get/responses/403/content/application~1json/examples/forbidden"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Салон не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1salon~1{salonId}/get/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1salon~1{salonId}/get/responses/404/content/application~1json/examples/not_found"]}],"pointer":"/paths/~1api~1service~1salon~1{salonId}/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/SalonServicesResponse","exampleIds":["paths/~1api~1service~1salon~1{salonId}/get/responses/200/content/application~1json/examples/ok","paths/~1api~1service~1salon~1{salonId}/get/responses/200/content/application~1json/examples/empty"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SalonServicesResponse","exampleIds":["paths/~1api~1service~1salon~1{salonId}/get/responses/200/content/application~1json/examples/ok","paths/~1api~1service~1salon~1{salonId}/get/responses/200/content/application~1json/examples/empty"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1salon~1{salonId}/get/responses/400/content/application~1json/examples/invalid_id"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1salon~1{salonId}/get/responses/400/content/application~1json/examples/invalid_id"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1salon~1{salonId}/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1salon~1{salonId}/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1salon~1{salonId}/get/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1salon~1{salonId}/get/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1salon~1{salonId}/get/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1salon~1{salonId}/get/responses/404/content/application~1json/examples/not_found"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/uslugi/paths/~1api~1service~1salon~1{salonid}/get"}],"panels":[]}]},"httpPath":"/api/service/salon/{salonId}"},{"label":"Получить услуги салона по категориям","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/uslugi/paths/~1api~1service~1salon~1{salon_id}~1services~1by-category/get","routeSlug":"/openapi/uslugi/paths/~1api~1service~1salon~1{salon_id}~1services~1by-category/get","metadata":{"seo":{"title":"Получить услуги салона по категориям","description":"Возвращает услуги салона, сгруппированные по дереву категорий."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить услуги салона по категориям","isWebhook":false,"pointer":"/paths/~1api~1service~1salon~1{salon_id}~1services~1by-category/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить услуги салона по категориям","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает услуги салона, сгруппированные по дереву категорий."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"В "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"data"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" приходит список категорий. У каждой категории есть:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"category_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - идентификатор категории"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"services"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - услуги этой категории"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"children"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - дочерние категории; у каждой дочерней категории могут быть свои "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"children"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" на любую глубину"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступен владельцу и администратору салона."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"salon_id","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор салона."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1service~1salon~1{salon_id}~1services~1by-category/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/service/salon/{salon_id}/services/by-category","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"salon_id","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403","404"],"pointer":"/api/service/salon/{salon_id}/services/by-category","href":"uslugi/paths/~1api~1service~1salon~1{salon_id}~1services~1by-category/get","summary":"Получить услуги салона по категориям","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Услуги салона успешно получены"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ServiceCategoryTreeResponse","exampleIds":["paths/~1api~1service~1salon~1{salon_id}~1services~1by-category/get/responses/200/content/application~1json/examples/ok","paths/~1api~1service~1salon~1{salon_id}~1services~1by-category/get/responses/200/content/application~1json/examples/empty"]}},"schemaId":"components/schemas/ServiceCategoryTreeResponse","exampleIds":["paths/~1api~1service~1salon~1{salon_id}~1services~1by-category/get/responses/200/content/application~1json/examples/ok","paths/~1api~1service~1salon~1{salon_id}~1services~1by-category/get/responses/200/content/application~1json/examples/empty"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректный идентификатор салона"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1salon~1{salon_id}~1services~1by-category/get/responses/400/content/application~1json/examples/invalid_id"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1salon~1{salon_id}~1services~1by-category/get/responses/400/content/application~1json/examples/invalid_id"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1salon~1{salon_id}~1services~1by-category/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1salon~1{salon_id}~1services~1by-category/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1salon~1{salon_id}~1services~1by-category/get/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1salon~1{salon_id}~1services~1by-category/get/responses/403/content/application~1json/examples/forbidden"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Салон не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1salon~1{salon_id}~1services~1by-category/get/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1salon~1{salon_id}~1services~1by-category/get/responses/404/content/application~1json/examples/not_found"]}],"pointer":"/paths/~1api~1service~1salon~1{salon_id}~1services~1by-category/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/ServiceCategoryTreeResponse","exampleIds":["paths/~1api~1service~1salon~1{salon_id}~1services~1by-category/get/responses/200/content/application~1json/examples/ok","paths/~1api~1service~1salon~1{salon_id}~1services~1by-category/get/responses/200/content/application~1json/examples/empty"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ServiceCategoryTreeResponse","exampleIds":["paths/~1api~1service~1salon~1{salon_id}~1services~1by-category/get/responses/200/content/application~1json/examples/ok","paths/~1api~1service~1salon~1{salon_id}~1services~1by-category/get/responses/200/content/application~1json/examples/empty"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1salon~1{salon_id}~1services~1by-category/get/responses/400/content/application~1json/examples/invalid_id"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1salon~1{salon_id}~1services~1by-category/get/responses/400/content/application~1json/examples/invalid_id"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1salon~1{salon_id}~1services~1by-category/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1salon~1{salon_id}~1services~1by-category/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1salon~1{salon_id}~1services~1by-category/get/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1salon~1{salon_id}~1services~1by-category/get/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1salon~1{salon_id}~1services~1by-category/get/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1salon~1{salon_id}~1services~1by-category/get/responses/404/content/application~1json/examples/not_found"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/uslugi/paths/~1api~1service~1salon~1{salon_id}~1services~1by-category/get"}],"panels":[]}]},"httpPath":"/api/service/salon/{salon_id}/services/by-category"},{"label":"Получить услуги мастера салона по категориям","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/uslugi/paths/~1api~1service~1salon~1master~1{master_user_id}~1services/get","routeSlug":"/openapi/uslugi/paths/~1api~1service~1salon~1master~1{master_user_id}~1services/get","metadata":{"seo":{"title":"Получить услуги мастера салона по категориям","description":"Возвращает услуги, назначенные мастеру салона, сгруппированные по дереву категорий."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить услуги мастера салона по категориям","isWebhook":false,"pointer":"/paths/~1api~1service~1salon~1master~1{master_user_id}~1services/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить услуги мастера салона по категориям","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает услуги, назначенные мастеру салона, сгруппированные по дереву категорий."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"В "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"data"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" приходит список категорий. У каждой категории есть:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"category_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - идентификатор категории"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"services"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - услуги этой категории"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"children"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - дочерние категории; у каждой дочерней категории могут быть свои "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"children"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" на любую глубину"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Если мастеру не назначены услуги, вернется пустой список."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступен владельцу и администратору салона."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"master_user_id","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор пользователя-мастера салона."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1service~1salon~1master~1{master_user_id}~1services/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/service/salon/master/{master_user_id}/services","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"master_user_id","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403","404"],"pointer":"/api/service/salon/master/{master_user_id}/services","href":"uslugi/paths/~1api~1service~1salon~1master~1{master_user_id}~1services/get","summary":"Получить услуги мастера салона по категориям","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Услуги мастера салона успешно получены"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ServiceCategoryTreeResponse","exampleIds":["paths/~1api~1service~1salon~1master~1{master_user_id}~1services/get/responses/200/content/application~1json/examples/ok","paths/~1api~1service~1salon~1master~1{master_user_id}~1services/get/responses/200/content/application~1json/examples/empty"]}},"schemaId":"components/schemas/ServiceCategoryTreeResponse","exampleIds":["paths/~1api~1service~1salon~1master~1{master_user_id}~1services/get/responses/200/content/application~1json/examples/ok","paths/~1api~1service~1salon~1master~1{master_user_id}~1services/get/responses/200/content/application~1json/examples/empty"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректный идентификатор мастера"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1salon~1master~1{master_user_id}~1services/get/responses/400/content/application~1json/examples/invalid_id"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1salon~1master~1{master_user_id}~1services/get/responses/400/content/application~1json/examples/invalid_id"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1salon~1master~1{master_user_id}~1services/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1salon~1master~1{master_user_id}~1services/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1salon~1master~1{master_user_id}~1services/get/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1salon~1master~1{master_user_id}~1services/get/responses/403/content/application~1json/examples/forbidden"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Мастер салона не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1salon~1master~1{master_user_id}~1services/get/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1salon~1master~1{master_user_id}~1services/get/responses/404/content/application~1json/examples/not_found"]}],"pointer":"/paths/~1api~1service~1salon~1master~1{master_user_id}~1services/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/ServiceCategoryTreeResponse","exampleIds":["paths/~1api~1service~1salon~1master~1{master_user_id}~1services/get/responses/200/content/application~1json/examples/ok","paths/~1api~1service~1salon~1master~1{master_user_id}~1services/get/responses/200/content/application~1json/examples/empty"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ServiceCategoryTreeResponse","exampleIds":["paths/~1api~1service~1salon~1master~1{master_user_id}~1services/get/responses/200/content/application~1json/examples/ok","paths/~1api~1service~1salon~1master~1{master_user_id}~1services/get/responses/200/content/application~1json/examples/empty"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1salon~1master~1{master_user_id}~1services/get/responses/400/content/application~1json/examples/invalid_id"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1salon~1master~1{master_user_id}~1services/get/responses/400/content/application~1json/examples/invalid_id"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1salon~1master~1{master_user_id}~1services/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1salon~1master~1{master_user_id}~1services/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1salon~1master~1{master_user_id}~1services/get/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1salon~1master~1{master_user_id}~1services/get/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1salon~1master~1{master_user_id}~1services/get/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1salon~1master~1{master_user_id}~1services/get/responses/404/content/application~1json/examples/not_found"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/uslugi/paths/~1api~1service~1salon~1master~1{master_user_id}~1services/get"}],"panels":[]}]},"httpPath":"/api/service/salon/master/{master_user_id}/services"},{"label":"Обновить услуги мастера салона","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/uslugi/paths/~1api~1service~1salon~1master~1{master_user_id}~1services/put","routeSlug":"/openapi/uslugi/paths/~1api~1service~1salon~1master~1{master_user_id}~1services/put","metadata":{"seo":{"title":"Обновить услуги мастера салона","description":"Полностью заменяет список услуг, назначенных мастеру салона."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Обновить услуги мастера салона","isWebhook":false,"pointer":"/paths/~1api~1service~1salon~1master~1{master_user_id}~1services/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Обновить услуги мастера салона","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Полностью заменяет список услуг, назначенных мастеру салона."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Тело запроса содержит только "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"service_ids"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Пустой массив очищает список назначенных услуг."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Все переданные услуги должны существовать и относиться к салону этого мастера."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Если запрос некорректен, список назначенных услуг не меняется."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступен владельцу салона. Администратору салона требуется право управлять услугами."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"master_user_id","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор пользователя-мастера салона."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1service~1salon~1master~1{master_user_id}~1services/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/SalonMasterServicesRequest","exampleIds":["paths/~1api~1service~1salon~1master~1{master_user_id}~1services/put/requestBody/content/application~1json/examples/assign","paths/~1api~1service~1salon~1master~1{master_user_id}~1services/put/requestBody/content/application~1json/examples/clear"]}},"schemaId":"components/schemas/SalonMasterServicesRequest","exampleIds":["paths/~1api~1service~1salon~1master~1{master_user_id}~1services/put/requestBody/content/application~1json/examples/assign","paths/~1api~1service~1salon~1master~1{master_user_id}~1services/put/requestBody/content/application~1json/examples/clear"],"pointer":"/paths/~1api~1service~1salon~1master~1{master_user_id}~1services/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/api/service/salon/master/{master_user_id}/services","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"master_user_id","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/SalonMasterServicesRequest","exampleIds":["paths/~1api~1service~1salon~1master~1{master_user_id}~1services/put/requestBody/content/application~1json/examples/assign","paths/~1api~1service~1salon~1master~1{master_user_id}~1services/put/requestBody/content/application~1json/examples/clear"]}},"responseCodes":["200","400","401","403","404"],"pointer":"/api/service/salon/master/{master_user_id}/services","href":"uslugi/paths/~1api~1service~1salon~1master~1{master_user_id}~1services/put","summary":"Обновить услуги мастера салона","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/SalonMasterServicesRequest","exampleIds":["paths/~1api~1service~1salon~1master~1{master_user_id}~1services/put/requestBody/content/application~1json/examples/assign","paths/~1api~1service~1salon~1master~1{master_user_id}~1services/put/requestBody/content/application~1json/examples/clear"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/SalonMasterServicesRequest","exampleIds":["paths/~1api~1service~1salon~1master~1{master_user_id}~1services/put/requestBody/content/application~1json/examples/assign","paths/~1api~1service~1salon~1master~1{master_user_id}~1services/put/requestBody/content/application~1json/examples/clear"]}},"examples":[{},{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Услуги мастера салона успешно обновлены"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1service~1salon~1master~1{master_user_id}~1services/put/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1service~1salon~1master~1{master_user_id}~1services/put/responses/200/content/application~1json/examples/ok"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело запроса или связь мастера с салоном"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1salon~1master~1{master_user_id}~1services/put/responses/400/content/application~1json/examples/invalid_body"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1salon~1master~1{master_user_id}~1services/put/responses/400/content/application~1json/examples/invalid_body"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1salon~1master~1{master_user_id}~1services/put/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1salon~1master~1{master_user_id}~1services/put/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Нет доступа к обновлению услуг мастера салона"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1salon~1master~1{master_user_id}~1services/put/responses/403/content/application~1json/examples/salon_permission_denied","paths/~1api~1service~1salon~1master~1{master_user_id}~1services/put/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1salon~1master~1{master_user_id}~1services/put/responses/403/content/application~1json/examples/salon_permission_denied","paths/~1api~1service~1salon~1master~1{master_user_id}~1services/put/responses/403/content/application~1json/examples/forbidden"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Мастер салона или услуга не найдены"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1salon~1master~1{master_user_id}~1services/put/responses/404/content/application~1json/examples/service_not_found","paths/~1api~1service~1salon~1master~1{master_user_id}~1services/put/responses/404/content/application~1json/examples/master_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1salon~1master~1{master_user_id}~1services/put/responses/404/content/application~1json/examples/service_not_found","paths/~1api~1service~1salon~1master~1{master_user_id}~1services/put/responses/404/content/application~1json/examples/master_not_found"]}],"pointer":"/paths/~1api~1service~1salon~1master~1{master_user_id}~1services/put/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1service~1salon~1master~1{master_user_id}~1services/put/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1service~1salon~1master~1{master_user_id}~1services/put/responses/200/content/application~1json/examples/ok"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1salon~1master~1{master_user_id}~1services/put/responses/400/content/application~1json/examples/invalid_body"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1salon~1master~1{master_user_id}~1services/put/responses/400/content/application~1json/examples/invalid_body"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1salon~1master~1{master_user_id}~1services/put/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1salon~1master~1{master_user_id}~1services/put/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1salon~1master~1{master_user_id}~1services/put/responses/403/content/application~1json/examples/salon_permission_denied","paths/~1api~1service~1salon~1master~1{master_user_id}~1services/put/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1salon~1master~1{master_user_id}~1services/put/responses/403/content/application~1json/examples/salon_permission_denied","paths/~1api~1service~1salon~1master~1{master_user_id}~1services/put/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1salon~1master~1{master_user_id}~1services/put/responses/404/content/application~1json/examples/service_not_found","paths/~1api~1service~1salon~1master~1{master_user_id}~1services/put/responses/404/content/application~1json/examples/master_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1salon~1master~1{master_user_id}~1services/put/responses/404/content/application~1json/examples/service_not_found","paths/~1api~1service~1salon~1master~1{master_user_id}~1services/put/responses/404/content/application~1json/examples/master_not_found"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/uslugi/paths/~1api~1service~1salon~1master~1{master_user_id}~1services/put"}],"panels":[]}]},"httpPath":"/api/service/salon/master/{master_user_id}/services"},{"label":"Получить услуги мастера по категориям","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/uslugi/paths/~1api~1service~1master~1{master_user_id}~1services~1by-category/get","routeSlug":"/openapi/uslugi/paths/~1api~1service~1master~1{master_user_id}~1services~1by-category/get","metadata":{"seo":{"title":"Получить услуги мастера по категориям","description":"Возвращает услуги мастера, сгруппированные по дереву категорий."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить услуги мастера по категориям","isWebhook":false,"pointer":"/paths/~1api~1service~1master~1{master_user_id}~1services~1by-category/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить услуги мастера по категориям","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает услуги мастера, сгруппированные по дереву категорий."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"В "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"data"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" приходит список категорий. У каждой категории есть:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"category_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - идентификатор категории"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"services"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - услуги этой категории"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"children"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - дочерние категории; у каждой дочерней категории могут быть свои "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"children"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" на любую глубину"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"master_user_id","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор пользователя-мастера."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1service~1master~1{master_user_id}~1services~1by-category/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/service/master/{master_user_id}/services/by-category","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"master_user_id","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403","404"],"pointer":"/api/service/master/{master_user_id}/services/by-category","href":"uslugi/paths/~1api~1service~1master~1{master_user_id}~1services~1by-category/get","summary":"Получить услуги мастера по категориям","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Услуги мастера успешно получены"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ServiceCategoryTreeResponse","exampleIds":["paths/~1api~1service~1master~1{master_user_id}~1services~1by-category/get/responses/200/content/application~1json/examples/ok","paths/~1api~1service~1master~1{master_user_id}~1services~1by-category/get/responses/200/content/application~1json/examples/empty"]}},"schemaId":"components/schemas/ServiceCategoryTreeResponse","exampleIds":["paths/~1api~1service~1master~1{master_user_id}~1services~1by-category/get/responses/200/content/application~1json/examples/ok","paths/~1api~1service~1master~1{master_user_id}~1services~1by-category/get/responses/200/content/application~1json/examples/empty"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректный идентификатор мастера"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1master~1{master_user_id}~1services~1by-category/get/responses/400/content/application~1json/examples/invalid_id"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1master~1{master_user_id}~1services~1by-category/get/responses/400/content/application~1json/examples/invalid_id"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1master~1{master_user_id}~1services~1by-category/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1master~1{master_user_id}~1services~1by-category/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1master~1{master_user_id}~1services~1by-category/get/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1master~1{master_user_id}~1services~1by-category/get/responses/403/content/application~1json/examples/forbidden"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Мастер не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1master~1{master_user_id}~1services~1by-category/get/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1master~1{master_user_id}~1services~1by-category/get/responses/404/content/application~1json/examples/not_found"]}],"pointer":"/paths/~1api~1service~1master~1{master_user_id}~1services~1by-category/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/ServiceCategoryTreeResponse","exampleIds":["paths/~1api~1service~1master~1{master_user_id}~1services~1by-category/get/responses/200/content/application~1json/examples/ok","paths/~1api~1service~1master~1{master_user_id}~1services~1by-category/get/responses/200/content/application~1json/examples/empty"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ServiceCategoryTreeResponse","exampleIds":["paths/~1api~1service~1master~1{master_user_id}~1services~1by-category/get/responses/200/content/application~1json/examples/ok","paths/~1api~1service~1master~1{master_user_id}~1services~1by-category/get/responses/200/content/application~1json/examples/empty"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1master~1{master_user_id}~1services~1by-category/get/responses/400/content/application~1json/examples/invalid_id"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1master~1{master_user_id}~1services~1by-category/get/responses/400/content/application~1json/examples/invalid_id"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1master~1{master_user_id}~1services~1by-category/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1master~1{master_user_id}~1services~1by-category/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1master~1{master_user_id}~1services~1by-category/get/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1master~1{master_user_id}~1services~1by-category/get/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1master~1{master_user_id}~1services~1by-category/get/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1service~1master~1{master_user_id}~1services~1by-category/get/responses/404/content/application~1json/examples/not_found"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/uslugi/paths/~1api~1service~1master~1{master_user_id}~1services~1by-category/get"}],"panels":[]}]},"httpPath":"/api/service/master/{master_user_id}/services/by-category"}],"content":{"contentType":"group","meta":{"name":"Услуги"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Услуги","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Создание, редактирование, удаление и получение услуг."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/api/service","summary":"Создать услугу","prefix":{"name":"post","color":"post"},"badges":[],"link":"/uslugi/paths/~1api~1service/post","deprecated":false},{"title":"/api/service/provider","summary":"Получить свои услуги провайдера","prefix":{"name":"get","color":"get"},"badges":[],"link":"/uslugi/paths/~1api~1service~1provider/get","deprecated":false},{"title":"/api/service-catalog/by-category/{categoryId}","summary":"Получить доступные шаблоны услуг по категории","prefix":{"name":"get","color":"get"},"badges":[],"link":"/uslugi/paths/~1api~1service-catalog~1by-category~1{categoryid}/get","deprecated":false},{"title":"/api/service/client-place-radius-options","summary":"Получить допустимые радиусы выезда к клиенту","prefix":{"name":"get","color":"get"},"badges":[],"link":"/uslugi/paths/~1api~1service~1client-place-radius-options/get","deprecated":false},{"title":"/api/service/{serviceId}","summary":"Получить услугу по id","prefix":{"name":"get","color":"get"},"badges":[],"link":"/uslugi/paths/~1api~1service~1{serviceid}/get","deprecated":false},{"title":"/api/service/{serviceId}","summary":"Обновить услугу","prefix":{"name":"patch","color":"patch"},"badges":[],"link":"/uslugi/paths/~1api~1service~1{serviceid}/patch","deprecated":false},{"title":"/api/service/{serviceId}","summary":"Удалить услугу","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/uslugi/paths/~1api~1service~1{serviceid}/delete","deprecated":false},{"title":"/api/service/provider/{providerId}","summary":"Получить услуги провайдера","prefix":{"name":"get","color":"get"},"badges":[],"link":"/uslugi/paths/~1api~1service~1provider~1{providerid}/get","deprecated":false},{"title":"/api/service/salon/{salonId}","summary":"Получить услуги салона","prefix":{"name":"get","color":"get"},"badges":[],"link":"/uslugi/paths/~1api~1service~1salon~1{salonid}/get","deprecated":false},{"title":"/api/service/salon/{salon_id}/services/by-category","summary":"Получить услуги салона по категориям","prefix":{"name":"get","color":"get"},"badges":[],"link":"/uslugi/paths/~1api~1service~1salon~1{salon_id}~1services~1by-category/get","deprecated":false},{"title":"/api/service/salon/master/{master_user_id}/services","summary":"Получить услуги мастера салона по категориям","prefix":{"name":"get","color":"get"},"badges":[],"link":"/uslugi/paths/~1api~1service~1salon~1master~1{master_user_id}~1services/get","deprecated":false},{"title":"/api/service/salon/master/{master_user_id}/services","summary":"Обновить услуги мастера салона","prefix":{"name":"put","color":"put"},"badges":[],"link":"/uslugi/paths/~1api~1service~1salon~1master~1{master_user_id}~1services/put","deprecated":false},{"title":"/api/service/master/{master_user_id}/services/by-category","summary":"Получить услуги мастера по категориям","prefix":{"name":"get","color":"get"},"badges":[],"link":"/uslugi/paths/~1api~1service~1master~1{master_user_id}~1services~1by-category/get","deprecated":false}]}]}]}]}},{"type":"group","label":"Поиск","link":"/openapi/poisk","routeSlug":"/openapi/poisk","items":[{"type":"link","label":"Подключение карты","link":"/openapi/poisk/podklyuchenie-karty","routeSlug":"/openapi/poisk/podklyuchenie-karty","content":{"contentType":"item","itemVariant":"markdown","meta":{"name":"Подключение карты"},"children":[{"nodeType":"container","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":2,"id":"poisk/podklyuchenie-karty"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Подключение карты"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Для отображения карты в Flutter-приложении подключите Yandex MapKit, следуя"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://yandex.ru/maps-api/docs/mapkit/flutter/generated/getting_started.html"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"официальной документации"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API-ключ MapKit: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"a62c766c-4d7e-4250-a0c4-76ca26421f2a"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}],"panels":[]}]}},{"label":"Получить станции метро по названию города","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/poisk/paths/~1api~1metro/get","routeSlug":"/openapi/poisk/paths/~1api~1metro/get","metadata":{"seo":{"title":"Получить станции метро по названию города","description":"Защищённый справочный endpoint для режима «По алфавиту». Требуется JWT пользователя."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить станции метро по названию города","isWebhook":false,"pointer":"/paths/~1api~1metro/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить станции метро по названию города","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Защищённый справочный endpoint для режима «По алфавиту». Требуется JWT пользователя."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"city","in":"query","schemaId":"schema_96","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Название города или поддерживаемый псевдоним, например "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"СПб"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"example":"Москва"},{"name":"q","in":"query","schemaId":"schema_152","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Необязательный поиск станции по названию внутри выбранного города."},"children":[]}]}]}],"example":"Курская"}],"pointer":"/paths/~1api~1metro/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/metro","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[{"name":"city","in":"query","required":false,"example":"Москва","schemaId":"schema_96"},{"name":"q","in":"query","required":false,"example":"Курская","schemaId":"schema_152"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401"],"pointer":"/api/metro","href":"poisk/paths/~1api~1metro/get","summary":"Получить станции метро по названию города","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Список станций или пустой массив для города без метро"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/MetroStationListApiResponse","exampleIds":["paths/~1api~1metro/get/responses/200/content/application~1json/examples/stations","paths/~1api~1metro/get/responses/200/content/application~1json/examples/no_metro"]}},"schemaId":"components/schemas/MetroStationListApiResponse","exampleIds":["paths/~1api~1metro/get/responses/200/content/application~1json/examples/stations","paths/~1api~1metro/get/responses/200/content/application~1json/examples/no_metro"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1metro/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1metro/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1metro/get/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1metro/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1metro/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1metro/get/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1metro/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1metro/get/responses/401/content/application~1json/examples/unauthorized"]}],"pointer":"/paths/~1api~1metro/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/MetroStationListApiResponse","exampleIds":["paths/~1api~1metro/get/responses/200/content/application~1json/examples/stations","paths/~1api~1metro/get/responses/200/content/application~1json/examples/no_metro"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/MetroStationListApiResponse","exampleIds":["paths/~1api~1metro/get/responses/200/content/application~1json/examples/stations","paths/~1api~1metro/get/responses/200/content/application~1json/examples/no_metro"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1metro/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1metro/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1metro/get/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1metro/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1metro/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1metro/get/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1metro/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1metro/get/responses/401/content/application~1json/examples/unauthorized"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/poisk/paths/~1api~1metro/get"}],"panels":[]}]},"httpPath":"/api/metro"},{"label":"Получить линии метро по названию города","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/poisk/paths/~1api~1metro~1lines/get","routeSlug":"/openapi/poisk/paths/~1api~1metro~1lines/get","metadata":{"seo":{"title":"Получить линии метро по названию города","description":"Защищённый справочный endpoint для режима «По линиям». Требуется JWT пользователя."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить линии метро по названию города","isWebhook":false,"pointer":"/paths/~1api~1metro~1lines/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить линии метро по названию города","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Защищённый справочный endpoint для режима «По линиям». Требуется JWT пользователя."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"city","in":"query","schemaId":"schema_96","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Название города или поддерживаемый псевдоним, например "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"СПб"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"example":"Москва"}],"pointer":"/paths/~1api~1metro~1lines/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/metro/lines","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[{"name":"city","in":"query","required":false,"example":"Москва","schemaId":"schema_96"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401"],"pointer":"/api/metro/lines","href":"poisk/paths/~1api~1metro~1lines/get","summary":"Получить линии метро по названию города","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Список линий или пустой массив для города без метро"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/MetroLineListApiResponse","exampleIds":["paths/~1api~1metro~1lines/get/responses/200/content/application~1json/examples/lines","paths/~1api~1metro~1lines/get/responses/200/content/application~1json/examples/no_metro"]}},"schemaId":"components/schemas/MetroLineListApiResponse","exampleIds":["paths/~1api~1metro~1lines/get/responses/200/content/application~1json/examples/lines","paths/~1api~1metro~1lines/get/responses/200/content/application~1json/examples/no_metro"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1metro~1lines/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1metro~1lines/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1metro~1lines/get/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1metro~1lines/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1metro~1lines/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1metro~1lines/get/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1metro~1lines/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1metro~1lines/get/responses/401/content/application~1json/examples/unauthorized"]}],"pointer":"/paths/~1api~1metro~1lines/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/MetroLineListApiResponse","exampleIds":["paths/~1api~1metro~1lines/get/responses/200/content/application~1json/examples/lines","paths/~1api~1metro~1lines/get/responses/200/content/application~1json/examples/no_metro"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/MetroLineListApiResponse","exampleIds":["paths/~1api~1metro~1lines/get/responses/200/content/application~1json/examples/lines","paths/~1api~1metro~1lines/get/responses/200/content/application~1json/examples/no_metro"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1metro~1lines/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1metro~1lines/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1metro~1lines/get/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1metro~1lines/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1metro~1lines/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1metro~1lines/get/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1metro~1lines/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1metro~1lines/get/responses/401/content/application~1json/examples/unauthorized"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/poisk/paths/~1api~1metro~1lines/get"}],"panels":[]}]},"httpPath":"/api/metro/lines"},{"label":"Получить районы по названию города","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/poisk/paths/~1api~1districts/get","routeSlug":"/openapi/poisk/paths/~1api~1districts/get","metadata":{"seo":{"title":"Получить районы по названию города","description":"Возвращает только названия районов, отсортированные по русскому алфавиту. Требуется JWT пользователя."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить районы по названию города","isWebhook":false,"pointer":"/paths/~1api~1districts/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить районы по названию города","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает только названия районов, отсортированные по русскому алфавиту. Требуется JWT пользователя."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"city","in":"query","schemaId":"schema_96","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Название города."},"children":[]}]}]}],"example":"Москва"}],"pointer":"/paths/~1api~1districts/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/districts","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[{"name":"city","in":"query","required":false,"example":"Москва","schemaId":"schema_96"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401"],"pointer":"/api/districts","href":"poisk/paths/~1api~1districts/get","summary":"Получить районы по названию города","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Алфавитный список названий районов или пустой массив"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/DistrictNameListApiResponse","exampleIds":["paths/~1api~1districts/get/responses/200/content/application~1json/examples/districts","paths/~1api~1districts/get/responses/200/content/application~1json/examples/no_districts"]}},"schemaId":"components/schemas/DistrictNameListApiResponse","exampleIds":["paths/~1api~1districts/get/responses/200/content/application~1json/examples/districts","paths/~1api~1districts/get/responses/200/content/application~1json/examples/no_districts"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1districts/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1districts/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1districts/get/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1districts/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1districts/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1districts/get/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1districts/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1districts/get/responses/401/content/application~1json/examples/unauthorized"]}],"pointer":"/paths/~1api~1districts/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/DistrictNameListApiResponse","exampleIds":["paths/~1api~1districts/get/responses/200/content/application~1json/examples/districts","paths/~1api~1districts/get/responses/200/content/application~1json/examples/no_districts"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/DistrictNameListApiResponse","exampleIds":["paths/~1api~1districts/get/responses/200/content/application~1json/examples/districts","paths/~1api~1districts/get/responses/200/content/application~1json/examples/no_districts"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1districts/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1districts/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1districts/get/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1districts/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1districts/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1districts/get/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1districts/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1districts/get/responses/401/content/application~1json/examples/unauthorized"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/poisk/paths/~1api~1districts/get"}],"panels":[]}]},"httpPath":"/api/districts"},{"label":"Получить подсказки услуг, салонов и мастеров","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/poisk/paths/~1api~1search~1suggestions/get","routeSlug":"/openapi/poisk/paths/~1api~1search~1suggestions/get","metadata":{"seo":{"title":"Получить подсказки услуг, салонов и мастеров","description":"Выполняет один легковесный поиск сразу по трём индексам Meilisearch.Возвращает до 4 услуг с уникальными нормализованными названиями,затем до 1 салона и до 1 мастера."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить подсказки услуг, салонов и мастеров","isWebhook":false,"pointer":"/paths/~1api~1search~1suggestions/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить подсказки услуг, салонов и мастеров","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Выполняет один легковесный поиск сразу по трём индексам Meilisearch."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает до 4 услуг с уникальными нормализованными названиями,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"затем до 1 салона и до 1 мастера."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Для отсутствующего, пустого или содержащего менее 2 символов "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"q"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"возвращается успешный ответ с пустым массивом "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"data.items"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Endpoint не расходует лимит полноценного поиска."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"q","in":"query","schemaId":"schema_153","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Строка поиска. Перед поиском обрезаются края и повторяющиеся пробелы."},"children":[]}]}]}],"example":"нара"}],"pointer":"/paths/~1api~1search~1suggestions/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/search/suggestions","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[{"name":"q","in":"query","required":false,"example":"нара","schemaId":"schema_153"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401"],"pointer":"/api/search/suggestions","href":"poisk/paths/~1api~1search~1suggestions/get","summary":"Получить подсказки услуг, салонов и мастеров","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Подсказки успешно получены"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SearchSuggestionsListResponse","exampleIds":["paths/~1api~1search~1suggestions/get/responses/200/content/application~1json/examples/success","paths/~1api~1search~1suggestions/get/responses/200/content/application~1json/examples/short_query"]}},"schemaId":"components/schemas/SearchSuggestionsListResponse","exampleIds":["paths/~1api~1search~1suggestions/get/responses/200/content/application~1json/examples/success","paths/~1api~1search~1suggestions/get/responses/200/content/application~1json/examples/short_query"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1suggestions/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1search~1suggestions/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1search~1suggestions/get/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1suggestions/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1search~1suggestions/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1search~1suggestions/get/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1suggestions/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1suggestions/get/responses/401/content/application~1json/examples/unauthorized"]}],"pointer":"/paths/~1api~1search~1suggestions/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/SearchSuggestionsListResponse","exampleIds":["paths/~1api~1search~1suggestions/get/responses/200/content/application~1json/examples/success","paths/~1api~1search~1suggestions/get/responses/200/content/application~1json/examples/short_query"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SearchSuggestionsListResponse","exampleIds":["paths/~1api~1search~1suggestions/get/responses/200/content/application~1json/examples/success","paths/~1api~1search~1suggestions/get/responses/200/content/application~1json/examples/short_query"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1suggestions/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1search~1suggestions/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1search~1suggestions/get/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1suggestions/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1search~1suggestions/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1search~1suggestions/get/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1suggestions/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1suggestions/get/responses/401/content/application~1json/examples/unauthorized"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/poisk/paths/~1api~1search~1suggestions/get"}],"panels":[]}]},"httpPath":"/api/search/suggestions"},{"label":"Общий поиск услуг, салонов и мастеров","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/poisk/paths/~1api~1search~1all/get","routeSlug":"/openapi/poisk/paths/~1api~1search~1all/get","metadata":{"seo":{"title":"Общий поиск услуг, салонов и мастеров","description":"Возвращает смешанную поисковую выдачу услуг, салонов и мастеров.Один блок содержит до 8 услуг, 1 салона и 1 мастера в следующем порядке:4 услуги, 1 салон, 4 услуги, 1 мастер."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Общий поиск услуг, салонов и мастеров","isWebhook":false,"pointer":"/paths/~1api~1search~1all/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Общий поиск услуг, салонов и мастеров","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает смешанную поисковую выдачу услуг, салонов и мастеров."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Один блок содержит до 8 услуг, 1 салона и 1 мастера в следующем порядке:"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"4 услуги, 1 салон, 4 услуги, 1 мастер."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"offset"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — номер блока, начиная с 0."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"has_more"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" показывает, остались ли результаты хотя бы одного типа."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Для элементов "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"type=service"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"type=master"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" действуют те же правила выбора локации,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"собственного радиуса "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CLIENT_PLACE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и устранения дублей, что в"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET /api/search/services"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET /api/search/masters"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"q","in":"query","schemaId":"schema_153","example":"manicure"},{"name":"category_id","in":"query","schemaId":"schema_97","example":20},{"name":"lat","in":"query","schemaId":"schema_154","example":53.91},{"name":"lon","in":"query","schemaId":"schema_155","example":27.53},{"name":"radius_m","in":"query","schemaId":"schema_156","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Радиус поиска в метрах ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"100..10000"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") для фиксированных локаций"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"AT_MASTER_PLACE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"IN_SALON"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Для "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CLIENT_PLACE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" используется собственный"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"радиус объекта "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"radius_km"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"example":5000},{"name":"address","in":"query","schemaId":"schema_157"},{"name":"city","in":"query","schemaId":"schema_96"},{"name":"metro","in":"query","schemaId":"schema_158"},{"name":"metro_minutes","in":"query","schemaId":"schema_159"},{"name":"district","in":"query","schemaId":"schema_160"},{"name":"price_from","in":"query","schemaId":"schema_121"},{"name":"price_to","in":"query","schemaId":"schema_121"},{"name":"sort","in":"query","schemaId":"schema_161"},{"name":"offset","in":"query","schemaId":"schema_92","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Номер блока смешанной выдачи, начиная с 0."},"children":[]}]}]}],"example":1}],"pointer":"/paths/~1api~1search~1all/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/search/all","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[{"name":"q","in":"query","required":false,"example":"manicure","schemaId":"schema_153"},{"name":"category_id","in":"query","required":false,"example":20,"schemaId":"schema_97"},{"name":"lat","in":"query","required":false,"example":53.91,"schemaId":"schema_154"},{"name":"lon","in":"query","required":false,"example":27.53,"schemaId":"schema_155"},{"name":"radius_m","in":"query","required":false,"example":5000,"schemaId":"schema_156"},{"name":"address","in":"query","required":false,"schemaId":"schema_157"},{"name":"city","in":"query","required":false,"schemaId":"schema_96"},{"name":"metro","in":"query","required":false,"schemaId":"schema_158","style":"form","explode":true},{"name":"metro_minutes","in":"query","required":false,"schemaId":"schema_159"},{"name":"district","in":"query","required":false,"schemaId":"schema_160","style":"form","explode":true},{"name":"price_from","in":"query","required":false,"schemaId":"schema_121"},{"name":"price_to","in":"query","required":false,"schemaId":"schema_121"},{"name":"sort","in":"query","required":false,"schemaId":"components/schemas/CombinedSearchSort"},{"name":"offset","in":"query","required":false,"example":1,"schemaId":"schema_92"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","422","429"],"pointer":"/api/search/all","href":"poisk/paths/~1api~1search~1all/get","summary":"Общий поиск услуг, салонов и мастеров","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Результаты общего поиска успешно получены"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CombinedSearchListResponse","exampleIds":["paths/~1api~1search~1all/get/responses/200/content/application~1json/examples/success"]}},"schemaId":"components/schemas/CombinedSearchListResponse","exampleIds":["paths/~1api~1search~1all/get/responses/200/content/application~1json/examples/success"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1all/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1search~1all/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1search~1all/get/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1all/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1search~1all/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1search~1all/get/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1all/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1all/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"422","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не удалось определить координаты адреса"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"},{"code":"429","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Превышен лимит запросов."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Поле "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"data.TTL"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" содержит количество секунд до следующей попытки."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/TooManyRequestResponse","exampleIds":["paths/~1api~1search~1all/get/responses/429/content/application~1json/examples/too_many"]}},"schemaId":"components/schemas/TooManyRequestResponse","exampleIds":["paths/~1api~1search~1all/get/responses/429/content/application~1json/examples/too_many"]}],"pointer":"/paths/~1api~1search~1all/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/CombinedSearchListResponse","exampleIds":["paths/~1api~1search~1all/get/responses/200/content/application~1json/examples/success"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CombinedSearchListResponse","exampleIds":["paths/~1api~1search~1all/get/responses/200/content/application~1json/examples/success"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1all/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1search~1all/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1search~1all/get/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1all/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1search~1all/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1search~1all/get/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1all/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1all/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"422","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}},{"code":"429","schemaId":"components/schemas/TooManyRequestResponse","exampleIds":["paths/~1api~1search~1all/get/responses/429/content/application~1json/examples/too_many"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/TooManyRequestResponse","exampleIds":["paths/~1api~1search~1all/get/responses/429/content/application~1json/examples/too_many"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/poisk/paths/~1api~1search~1all/get"}],"panels":[]}]},"httpPath":"/api/search/all"},{"label":"Поиск услуг","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/poisk/paths/~1api~1search~1services/get","routeSlug":"/openapi/poisk/paths/~1api~1search~1services/get","metadata":{"seo":{"title":"Поиск услуг","description":"Выполняет поиск услуг с поддержкой текстового поиска,фильтрации по категории, цене и одному географическому режиму."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Поиск услуг","isWebhook":false,"pointer":"/paths/~1api~1search~1services/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Поиск услуг","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Выполняет поиск услуг с поддержкой текстового поиска,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"фильтрации по категории, цене и одному географическому режиму."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Особенности:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"q"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" необязателен; пустое значение считается отсутствующим"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"category_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" включает выбранную категорию и все её подкатегории; для конечной категории ищется только она"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"одновременно разрешён только один географический режим: точка, адрес, метро или районы"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"режим по профилю: если георежим не передан, используется геолокация профиля и сортировка от ближайших"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"режим точки: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"lat"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" + "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"lon"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" + "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"radius_m"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; услуги фильтруются по радиусу и сортируются согласно "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"sort"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"одна услуга может иметь до трёх локаций: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"AT_MASTER_PLACE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"IN_SALON"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CLIENT_PLACE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; наружу всегда возвращается один логический результат с обычным числовым "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"для "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"AT_MASTER_PLACE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"IN_SALON"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" в режиме точки применяется переданный "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"radius_m"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" в метрах ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"100..10000"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"для "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CLIENT_PLACE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" точка пользователя должна находиться внутри собственного "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"radius_km"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" услуги ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"1"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"5"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"10"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" или "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"20"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" км); переданный "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"radius_m"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" эту локацию не ограничивает"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"варианты одной услуги устраняются по логическому ID; поля "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"address"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"distance_meters"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"service_location"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"salon_name"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"radius_km"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" относятся к выбранному варианту"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"при "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"RELEVANCE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", сортировке по цене или рейтингу вариант выбирается по приоритету "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"AT_MASTER_PLACE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" → "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"IN_SALON"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" → "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CLIENT_PLACE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; при "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"DISTANCE_ASC"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"/"},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"DISTANCE_DESC"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" сначала учитывается расстояние в выбранном направлении, затем приоритет"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"режим адреса: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"address"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; адрес геокодируется, а найденная точка используется для сортировки от ближайших"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"режим метро: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"city"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" + один или несколько параметров "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"metro"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"metro_minutes"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" необязателен"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"если "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"metro_minutes"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" передан, вокруг каждой станции применяется радиус "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"metro_minutes * 80"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" метров; без него услуги только сортируются по близости"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"при нескольких метро расстояние услуги равно минимуму расстояний до выбранных станций; результаты объединяются без дублей"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"режим районов: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"city"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" + один или несколько параметров "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"district"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"для метро и районов можно передать любое количество значений, в том числе все значения города"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"несуществующая станция, район или город не игнорируются: возвращается "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"400 invalid_body"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"для режима адреса, метро и профиля сортировка по расстоянию выполняется от ближайших; для районов "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"distance_meters"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" равен "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"несколько метро поддерживают только сортировки "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"RELEVANCE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"DISTANCE_ASC"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"для поиска по районам обязателен "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"city"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; сортировки "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"DISTANCE_ASC"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"DISTANCE_DESC"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" недоступны"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"районная принадлежность вычисляется по полигонам и хранится во внутреннем "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"districtIds"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"в режиме районов "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"distance_meters"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" равен "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"если гео профиля отсутствует и явный георежим не передан, возвращается "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"400 invalid_body"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"price_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" должен быть больше или равен "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"price_from"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"при превышении лимита поиска возвращается "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"429 too_many_request"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" с "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"data.TTL"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"q","in":"query","schemaId":"schema_153","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Необязательный поисковый запрос. Пустая строка считается отсутствующим значением."},"children":[]}]}]}],"example":"massage"},{"name":"category_id","in":"query","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор категории услуги."},"children":[]}]}]}],"example":20},{"name":"lat","in":"query","schemaId":"schema_154","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Широта пользовательской точки. Передаётся только вместе с "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"lon"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"radius_m"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"example":53.91},{"name":"lon","in":"query","schemaId":"schema_155","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Долгота пользовательской точки. Передаётся только вместе с "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"lat"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"radius_m"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"example":27.53},{"name":"radius_m","in":"query","schemaId":"schema_156","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Радиус поиска в метрах для "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"AT_MASTER_PLACE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"IN_SALON"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требует одновременной передачи "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"lat"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"lon"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Для "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CLIENT_PLACE"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"используется собственный радиус услуги "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"radius_km"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"example":5000},{"name":"address","in":"query","schemaId":"schema_157","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Адрес, который будет геокодирован и использован как точка сортировки."},"children":[]}]}]}],"example":"Москва, Тверская улица, 10"},{"name":"city","in":"query","schemaId":"schema_96","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Город выбранных метро или районов."},"children":[]}]}]}],"example":"Москва"},{"name":"metro","in":"query","schemaId":"schema_158","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Названия выбранных станций. Параметр можно повторять без ограничения; можно передать все станции выбранного города."},"children":[]}]}]}],"example":["Курская","Бауманская"]},{"name":"metro_minutes","in":"query","schemaId":"schema_159","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Радиус вокруг каждой станции в минутах, одна минута равна 80 метрам."},"children":[]}]}]}],"example":15},{"name":"district","in":"query","schemaId":"schema_160","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Названия выбранных районов. Параметр можно повторять без ограничения; районы объединяются через OR."},"children":[]}]}]}],"example":["Арбат","Хамовники"]},{"name":"price_from","in":"query","schemaId":"schema_121","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Минимальная цена услуги."},"children":[]}]}]}],"example":2000},{"name":"price_to","in":"query","schemaId":"schema_121","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Максимальная цена услуги. Должна быть больше или равна "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"price_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"example":7000},{"name":"sort","in":"query","schemaId":"schema_162","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Порядок сортировки результата."},"children":[]}]}]}],"example":"PRICE_DESC"},{"name":"offset","in":"query","schemaId":"schema_92","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Сколько записей пропустить."},"children":[]}]}]}],"example":2},{"name":"limit","in":"query","schemaId":"schema_163","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Сколько услуг вернуть."},"children":[]}]}]}],"example":8}],"pointer":"/paths/~1api~1search~1services/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/search/services","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[{"name":"q","in":"query","required":false,"example":"massage","schemaId":"schema_153"},{"name":"category_id","in":"query","required":false,"example":20,"schemaId":"schema_97"},{"name":"lat","in":"query","required":false,"example":53.91,"schemaId":"schema_154"},{"name":"lon","in":"query","required":false,"example":27.53,"schemaId":"schema_155"},{"name":"radius_m","in":"query","required":false,"example":5000,"schemaId":"schema_156"},{"name":"address","in":"query","required":false,"example":"Москва, Тверская улица, 10","schemaId":"schema_157"},{"name":"city","in":"query","required":false,"example":"Москва","schemaId":"schema_96"},{"name":"metro","in":"query","required":false,"example":["Курская","Бауманская"],"schemaId":"schema_158","style":"form","explode":true},{"name":"metro_minutes","in":"query","required":false,"example":15,"schemaId":"schema_159"},{"name":"district","in":"query","required":false,"example":["Арбат","Хамовники"],"schemaId":"schema_160","style":"form","explode":true},{"name":"price_from","in":"query","required":false,"example":2000,"schemaId":"schema_121"},{"name":"price_to","in":"query","required":false,"example":7000,"schemaId":"schema_121"},{"name":"sort","in":"query","required":false,"example":"PRICE_DESC","schemaId":"components/schemas/ServiceSearchSort"},{"name":"offset","in":"query","required":false,"example":2,"schemaId":"schema_92"},{"name":"limit","in":"query","required":false,"example":8,"schemaId":"schema_163"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","422","429"],"pointer":"/api/search/services","href":"poisk/paths/~1api~1search~1services/get","summary":"Поиск услуг","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Услуги успешно найдены"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ServiceSearchListResponse","exampleIds":["paths/~1api~1search~1services/get/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/ServiceSearchListResponse","exampleIds":["paths/~1api~1search~1services/get/responses/200/content/application~1json/examples/ok"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректные query-параметры"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1services/get/responses/400/content/application~1json/examples/conflicting_geo_filters","paths/~1api~1search~1services/get/responses/400/content/application~1json/examples/invalid_point","paths/~1api~1search~1services/get/responses/400/content/application~1json/examples/metro_station_not_found","paths/~1api~1search~1services/get/responses/400/content/application~1json/examples/invalid_price_range"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1services/get/responses/400/content/application~1json/examples/conflicting_geo_filters","paths/~1api~1search~1services/get/responses/400/content/application~1json/examples/invalid_point","paths/~1api~1search~1services/get/responses/400/content/application~1json/examples/metro_station_not_found","paths/~1api~1search~1services/get/responses/400/content/application~1json/examples/invalid_price_range"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1services/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1services/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"422","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не удалось геокодировать адрес"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1services/get/responses/422/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1services/get/responses/422/content/application~1json/example"]},{"code":"429","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Превышен лимит запросов."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Поле "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"data.TTL"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" содержит количество секунд до следующей попытки."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/TooManyRequestResponse","exampleIds":["paths/~1api~1search~1services/get/responses/429/content/application~1json/examples/too_many"]}},"schemaId":"components/schemas/TooManyRequestResponse","exampleIds":["paths/~1api~1search~1services/get/responses/429/content/application~1json/examples/too_many"]}],"pointer":"/paths/~1api~1search~1services/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/ServiceSearchListResponse","exampleIds":["paths/~1api~1search~1services/get/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ServiceSearchListResponse","exampleIds":["paths/~1api~1search~1services/get/responses/200/content/application~1json/examples/ok"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1services/get/responses/400/content/application~1json/examples/conflicting_geo_filters","paths/~1api~1search~1services/get/responses/400/content/application~1json/examples/invalid_point","paths/~1api~1search~1services/get/responses/400/content/application~1json/examples/metro_station_not_found","paths/~1api~1search~1services/get/responses/400/content/application~1json/examples/invalid_price_range"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1services/get/responses/400/content/application~1json/examples/conflicting_geo_filters","paths/~1api~1search~1services/get/responses/400/content/application~1json/examples/invalid_point","paths/~1api~1search~1services/get/responses/400/content/application~1json/examples/metro_station_not_found","paths/~1api~1search~1services/get/responses/400/content/application~1json/examples/invalid_price_range"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1services/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1services/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"422","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1services/get/responses/422/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1services/get/responses/422/content/application~1json/example"]}}},{"code":"429","schemaId":"components/schemas/TooManyRequestResponse","exampleIds":["paths/~1api~1search~1services/get/responses/429/content/application~1json/examples/too_many"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/TooManyRequestResponse","exampleIds":["paths/~1api~1search~1services/get/responses/429/content/application~1json/examples/too_many"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/poisk/paths/~1api~1search~1services/get"}],"panels":[]}]},"httpPath":"/api/search/services"},{"label":"Поиск мастеров","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/poisk/paths/~1api~1search~1masters/get","routeSlug":"/openapi/poisk/paths/~1api~1search~1masters/get","metadata":{"seo":{"title":"Поиск мастеров","description":"Выполняет поиск мастеров с поддержкой текстового поиска,фильтрации по категории, диапазону цен и одному географическому режиму."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Поиск мастеров","isWebhook":false,"pointer":"/paths/~1api~1search~1masters/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Поиск мастеров","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Выполняет поиск мастеров с поддержкой текстового поиска,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"фильтрации по категории, диапазону цен и одному географическому режиму."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Особенности:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"q"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" необязателен; пустое значение считается отсутствующим"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"category_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" включает выбранную категорию и все её подкатегории; для конечной категории ищется только она"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"одновременно разрешён только один географический режим: точка, адрес, метро или районы"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"режим по профилю: если георежим не передан, используется геолокация профиля и сортировка от ближайших"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"режим точки: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"lat"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" + "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"lon"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" + "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"radius_m"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; мастера фильтруются по радиусу и сортируются согласно "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"sort"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"один мастер может иметь до трёх локаций: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"AT_MASTER_PLACE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"IN_SALON"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CLIENT_PLACE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; наружу всегда возвращается один результат на "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"user_id"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"для "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"AT_MASTER_PLACE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"IN_SALON"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" в режиме точки применяется переданный "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"radius_m"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" в метрах ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"100..10000"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"для "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CLIENT_PLACE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" точка пользователя должна находиться внутри собственного "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"radius_km"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" мастера ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"1"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"5"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"10"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" или "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"20"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" км); переданный "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"radius_m"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" эту локацию не ограничивает"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"варианты одного мастера устраняются по "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"user_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; поля "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"address"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"distance_meters"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"service_location"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"salon_name"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"radius_km"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" относятся к выбранному варианту"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"при "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"RELEVANCE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", сортировке по цене или рейтингу вариант выбирается по приоритету "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"AT_MASTER_PLACE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" → "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"IN_SALON"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" → "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CLIENT_PLACE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; при "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"DISTANCE_ASC"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"/"},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"DISTANCE_DESC"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" сначала учитывается расстояние в выбранном направлении, затем приоритет"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"режим адреса: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"address"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; адрес геокодируется, а найденная точка используется для сортировки от ближайших"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"режим метро: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"city"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" + один или несколько параметров "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"metro"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"metro_minutes"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" необязателен"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"если "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"metro_minutes"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" передан, вокруг каждой станции применяется радиус "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"metro_minutes * 80"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" метров; без него мастера только сортируются по близости"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"при нескольких метро расстояние мастера равно минимуму расстояний до выбранных станций; результаты объединяются без дублей"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"режим районов: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"city"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" + один или несколько параметров "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"district"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"для метро и районов можно передать любое количество значений, в том числе все значения города"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"несуществующая станция, район или город не игнорируются: возвращается "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"400 invalid_body"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"несколько метро поддерживают только сортировки "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"RELEVANCE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"DISTANCE_ASC"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"для поиска по районам сортировки "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"DISTANCE_ASC"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"DISTANCE_DESC"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" недоступны, а "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"distance_meters"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" равен "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"районная принадлежность вычисляется по полигонам и хранится во внутреннем "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"districtIds"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"если гео профиля отсутствует и явный георежим не передан, возвращается "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"400 invalid_body"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"для каждого мастера возвращается ближайшая дата и все свободные часовые слоты этой даты в пределах 60 дней (сегодня и следующие 59 дней)"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"часовые слоты рассчитываются по календарю мастера без привязки к длительности конкретной услуги"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"price_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" должен быть больше или равен "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"price_from"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"при превышении лимита поиска возвращается "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"429 too_many_request"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" с "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"data.TTL"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"q","in":"query","schemaId":"schema_153","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Необязательный поисковый запрос. Пустая строка считается отсутствующим значением."},"children":[]}]}]}],"example":"hair"},{"name":"category_id","in":"query","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор категории услуги второго уровня, которую оказывает мастер."},"children":[]}]}]}],"example":10},{"name":"lat","in":"query","schemaId":"schema_154","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Широта пользовательской точки. Передаётся только вместе с "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"lon"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"radius_m"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"example":53.9},{"name":"lon","in":"query","schemaId":"schema_155","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Долгота пользовательской точки. Передаётся только вместе с "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"lat"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"radius_m"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"example":27.56},{"name":"radius_m","in":"query","schemaId":"schema_156","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Радиус поиска в метрах для "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"AT_MASTER_PLACE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"IN_SALON"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Допустим только вместе с "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"lat"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"lon"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Для "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CLIENT_PLACE"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"используется собственный радиус мастера "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"radius_km"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"example":5000},{"name":"address","in":"query","schemaId":"schema_157","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Адрес, который будет геокодирован и использован как точка сортировки."},"children":[]}]}]}],"example":"Москва, Тверская улица, 10"},{"name":"city","in":"query","schemaId":"schema_96","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Город выбранных метро или районов."},"children":[]}]}]}],"example":"Москва"},{"name":"metro","in":"query","schemaId":"schema_158","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Названия выбранных станций. Параметр можно повторять без ограничения; можно передать все станции выбранного города."},"children":[]}]}]}],"example":["Курская","Бауманская"]},{"name":"metro_minutes","in":"query","schemaId":"schema_159","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Радиус вокруг каждой станции в минутах, одна минута равна 80 метрам."},"children":[]}]}]}],"example":15},{"name":"district","in":"query","schemaId":"schema_160","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Названия выбранных районов. Параметр можно повторять без ограничения; районы объединяются через OR."},"children":[]}]}]}],"example":["Арбат","Хамовники"]},{"name":"price_from","in":"query","schemaId":"schema_121","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Минимальная цена услуг мастера."},"children":[]}]}]}],"example":1000},{"name":"price_to","in":"query","schemaId":"schema_121","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Максимальная цена услуг мастера. Должна быть больше или равна "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"price_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"example":6000},{"name":"sort","in":"query","schemaId":"schema_164","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Порядок сортировки результата."},"children":[]}]}]}],"example":"PRICE_ASC"},{"name":"offset","in":"query","schemaId":"schema_92","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Сколько записей пропустить."},"children":[]}]}]}],"example":0},{"name":"limit","in":"query","schemaId":"schema_163","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Сколько мастеров вернуть."},"children":[]}]}]}],"example":20}],"pointer":"/paths/~1api~1search~1masters/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/search/masters","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[{"name":"q","in":"query","required":false,"example":"hair","schemaId":"schema_153"},{"name":"category_id","in":"query","required":false,"example":10,"schemaId":"schema_97"},{"name":"lat","in":"query","required":false,"example":53.9,"schemaId":"schema_154"},{"name":"lon","in":"query","required":false,"example":27.56,"schemaId":"schema_155"},{"name":"radius_m","in":"query","required":false,"example":5000,"schemaId":"schema_156"},{"name":"address","in":"query","required":false,"example":"Москва, Тверская улица, 10","schemaId":"schema_157"},{"name":"city","in":"query","required":false,"example":"Москва","schemaId":"schema_96"},{"name":"metro","in":"query","required":false,"example":["Курская","Бауманская"],"schemaId":"schema_158","style":"form","explode":true},{"name":"metro_minutes","in":"query","required":false,"example":15,"schemaId":"schema_159"},{"name":"district","in":"query","required":false,"example":["Арбат","Хамовники"],"schemaId":"schema_160","style":"form","explode":true},{"name":"price_from","in":"query","required":false,"example":1000,"schemaId":"schema_121"},{"name":"price_to","in":"query","required":false,"example":6000,"schemaId":"schema_121"},{"name":"sort","in":"query","required":false,"example":"PRICE_ASC","schemaId":"components/schemas/MasterSearchSort"},{"name":"offset","in":"query","required":false,"example":0,"schemaId":"schema_92"},{"name":"limit","in":"query","required":false,"example":20,"schemaId":"schema_163"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","422","429"],"pointer":"/api/search/masters","href":"poisk/paths/~1api~1search~1masters/get","summary":"Поиск мастеров","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Мастера успешно найдены"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/MasterSearchListResponse","exampleIds":["paths/~1api~1search~1masters/get/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/MasterSearchListResponse","exampleIds":["paths/~1api~1search~1masters/get/responses/200/content/application~1json/examples/ok"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректные query-параметры"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1masters/get/responses/400/content/application~1json/examples/conflicting_geo_filters","paths/~1api~1search~1masters/get/responses/400/content/application~1json/examples/invalid_point","paths/~1api~1search~1masters/get/responses/400/content/application~1json/examples/metro_station_not_found","paths/~1api~1search~1masters/get/responses/400/content/application~1json/examples/invalid_price_range"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1masters/get/responses/400/content/application~1json/examples/conflicting_geo_filters","paths/~1api~1search~1masters/get/responses/400/content/application~1json/examples/invalid_point","paths/~1api~1search~1masters/get/responses/400/content/application~1json/examples/metro_station_not_found","paths/~1api~1search~1masters/get/responses/400/content/application~1json/examples/invalid_price_range"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1masters/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1masters/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"422","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не удалось геокодировать адрес"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1masters/get/responses/422/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1masters/get/responses/422/content/application~1json/example"]},{"code":"429","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Превышен лимит запросов."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Поле "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"data.TTL"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" содержит количество секунд до следующей попытки."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/TooManyRequestResponse","exampleIds":["paths/~1api~1search~1masters/get/responses/429/content/application~1json/examples/too_many"]}},"schemaId":"components/schemas/TooManyRequestResponse","exampleIds":["paths/~1api~1search~1masters/get/responses/429/content/application~1json/examples/too_many"]}],"pointer":"/paths/~1api~1search~1masters/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/MasterSearchListResponse","exampleIds":["paths/~1api~1search~1masters/get/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/MasterSearchListResponse","exampleIds":["paths/~1api~1search~1masters/get/responses/200/content/application~1json/examples/ok"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1masters/get/responses/400/content/application~1json/examples/conflicting_geo_filters","paths/~1api~1search~1masters/get/responses/400/content/application~1json/examples/invalid_point","paths/~1api~1search~1masters/get/responses/400/content/application~1json/examples/metro_station_not_found","paths/~1api~1search~1masters/get/responses/400/content/application~1json/examples/invalid_price_range"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1masters/get/responses/400/content/application~1json/examples/conflicting_geo_filters","paths/~1api~1search~1masters/get/responses/400/content/application~1json/examples/invalid_point","paths/~1api~1search~1masters/get/responses/400/content/application~1json/examples/metro_station_not_found","paths/~1api~1search~1masters/get/responses/400/content/application~1json/examples/invalid_price_range"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1masters/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1masters/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"422","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1masters/get/responses/422/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1masters/get/responses/422/content/application~1json/example"]}}},{"code":"429","schemaId":"components/schemas/TooManyRequestResponse","exampleIds":["paths/~1api~1search~1masters/get/responses/429/content/application~1json/examples/too_many"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/TooManyRequestResponse","exampleIds":["paths/~1api~1search~1masters/get/responses/429/content/application~1json/examples/too_many"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/poisk/paths/~1api~1search~1masters/get"}],"panels":[]}]},"httpPath":"/api/search/masters"},{"label":"Поиск салонов","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/poisk/paths/~1api~1search~1salons/get","routeSlug":"/openapi/poisk/paths/~1api~1search~1salons/get","metadata":{"seo":{"title":"Поиск салонов","description":"Ищет салоны по названию, адресу и категориям услуг.Поддерживает те же фильтры и сортировки, что и поиск мастеров:категорию с подкатегориями, диапазон цен, точку с радиусом, адрес,метро, районы и геолокацию профиля по умолчанию."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Поиск салонов","isWebhook":false,"pointer":"/paths/~1api~1search~1salons/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Поиск салонов","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Ищет салоны по названию, адресу и категориям услуг."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Поддерживает те же фильтры и сортировки, что и поиск мастеров:"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"категорию с подкатегориями, диапазон цен, точку с радиусом, адрес,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"метро, районы и геолокацию профиля по умолчанию."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Одновременно разрешён только один географический режим."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Для нескольких станций метро поддерживаются только "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"RELEVANCE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"DISTANCE_ASC"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":";"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"дубли салонов объединяются по минимальному расстоянию."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"q","in":"query","schemaId":"schema_153","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Поиск по названию салона, адресу и названиям категорий."},"children":[]}]}]}]},{"name":"category_id","in":"query","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Категория услуги; включает выбранную категорию и все её подкатегории."},"children":[]}]}]}]},{"name":"lat","in":"query","schemaId":"schema_154","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Широта точки. Передаётся вместе с "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"lon"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"radius_m"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"name":"lon","in":"query","schemaId":"schema_155","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Долгота точки. Передаётся вместе с "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"lat"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"radius_m"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"name":"radius_m","in":"query","schemaId":"schema_156","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Радиус поиска в метрах."},"children":[]}]}]}]},{"name":"address","in":"query","schemaId":"schema_157","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Адрес, который геокодируется в точку поиска."},"children":[]}]}]}]},{"name":"city","in":"query","schemaId":"schema_96","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Город для поиска по метро или районам."},"children":[]}]}]}]},{"name":"metro","in":"query","schemaId":"schema_158","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Названия станций метро. Параметр можно повторять."},"children":[]}]}]}]},{"name":"metro_minutes","in":"query","schemaId":"schema_159","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Радиус вокруг каждой станции; одна минута равна 80 метрам."},"children":[]}]}]}]},{"name":"district","in":"query","schemaId":"schema_160","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Названия районов. Параметр можно повторять; районы объединяются через OR."},"children":[]}]}]}]},{"name":"price_from","in":"query","schemaId":"schema_121","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Нижняя граница цены услуг салона."},"children":[]}]}]}]},{"name":"price_to","in":"query","schemaId":"schema_121","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Верхняя граница цены услуг салона; не меньше "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"price_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"name":"sort","in":"query","schemaId":"schema_165"},{"name":"offset","in":"query","schemaId":"schema_92"},{"name":"limit","in":"query","schemaId":"schema_163"}],"pointer":"/paths/~1api~1search~1salons/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/search/salons","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[{"name":"q","in":"query","required":false,"schemaId":"schema_153"},{"name":"category_id","in":"query","required":false,"schemaId":"schema_97"},{"name":"lat","in":"query","required":false,"schemaId":"schema_154"},{"name":"lon","in":"query","required":false,"schemaId":"schema_155"},{"name":"radius_m","in":"query","required":false,"schemaId":"schema_156"},{"name":"address","in":"query","required":false,"schemaId":"schema_157"},{"name":"city","in":"query","required":false,"schemaId":"schema_96"},{"name":"metro","in":"query","required":false,"schemaId":"schema_158","style":"form","explode":true},{"name":"metro_minutes","in":"query","required":false,"schemaId":"schema_159"},{"name":"district","in":"query","required":false,"schemaId":"schema_160","style":"form","explode":true},{"name":"price_from","in":"query","required":false,"schemaId":"schema_121"},{"name":"price_to","in":"query","required":false,"schemaId":"schema_121"},{"name":"sort","in":"query","required":false,"example":"DISTANCE_ASC","schemaId":"components/schemas/SalonSearchSort"},{"name":"offset","in":"query","required":false,"schemaId":"schema_92"},{"name":"limit","in":"query","required":false,"schemaId":"schema_163"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","422","429"],"pointer":"/api/search/salons","href":"poisk/paths/~1api~1search~1salons/get","summary":"Поиск салонов","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Салоны успешно найдены"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SalonSearchListResponse"}},"schemaId":"components/schemas/SalonSearchListResponse"},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1salons/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1search~1salons/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1search~1salons/get/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1salons/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1search~1salons/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1search~1salons/get/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1salons/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1salons/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"422","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не удалось геокодировать адрес"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"},{"code":"429","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Превышен лимит запросов."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Поле "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"data.TTL"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" содержит количество секунд до следующей попытки."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/TooManyRequestResponse","exampleIds":["paths/~1api~1search~1salons/get/responses/429/content/application~1json/examples/too_many"]}},"schemaId":"components/schemas/TooManyRequestResponse","exampleIds":["paths/~1api~1search~1salons/get/responses/429/content/application~1json/examples/too_many"]}],"pointer":"/paths/~1api~1search~1salons/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/SalonSearchListResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SalonSearchListResponse"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1salons/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1search~1salons/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1search~1salons/get/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1salons/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1search~1salons/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1search~1salons/get/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1salons/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1salons/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"422","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}},{"code":"429","schemaId":"components/schemas/TooManyRequestResponse","exampleIds":["paths/~1api~1search~1salons/get/responses/429/content/application~1json/examples/too_many"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/TooManyRequestResponse","exampleIds":["paths/~1api~1search~1salons/get/responses/429/content/application~1json/examples/too_many"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/poisk/paths/~1api~1search~1salons/get"}],"panels":[]}]},"httpPath":"/api/search/salons"},{"label":"Подсчитать количество услуг","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/poisk/countservices","routeSlug":"/openapi/poisk/countservices","metadata":{"seo":{"title":"Подсчитать количество услуг","description":"Возвращает точное количество услуг, соответствующих текстовому запросу и фильтрам,без загрузки самих документов из Meilisearch."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"countServices","name":"Подсчитать количество услуг","isWebhook":false,"pointer":"/paths/~1api~1search~1services~1count/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Подсчитать количество услуг","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает точное количество услуг, соответствующих текстовому запросу и фильтрам,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"без загрузки самих документов из Meilisearch."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Поддерживает те же фильтры и георежимы, что "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET /api/search/services"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Каждый логический "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" услуги учитывается один раз, независимо от количества подходящих локаций."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Для "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CLIENT_PLACE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" применяется собственный "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"radius_km"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" услуги."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Одновременно разрешён только один явный георежим: точка с радиусом, адрес, метро или районы."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Если георежим не передан, используется геолокация профиля."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"q","in":"query","schemaId":"schema_153","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Текст поискового запроса."},"children":[]}]}]}]},{"name":"category_id","in":"query","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Категория вместе со всеми её подкатегориями."},"children":[]}]}]}]},{"name":"lat","in":"query","schemaId":"schema_154","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Широта точки; передаётся вместе с "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"lon"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"radius_m"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"name":"lon","in":"query","schemaId":"schema_155","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Долгота точки; передаётся вместе с "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"lat"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"radius_m"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"name":"radius_m","in":"query","schemaId":"schema_156","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Радиус поиска в метрах для фиксированных локаций. В поиске услуг и мастеров"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CLIENT_PLACE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" проверяется по собственному "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"radius_km"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", а не по этому параметру."},"children":[]}]}]}]},{"name":"address","in":"query","schemaId":"schema_157","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Адрес, который геокодируется в точку поиска."},"children":[]}]}]}]},{"name":"city","in":"query","schemaId":"schema_96","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Город для поиска по метро или районам."},"children":[]}]}]}]},{"name":"metro","in":"query","schemaId":"schema_158","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Названия станций метро; параметр можно повторять."},"children":[]}]}]}]},{"name":"metro_minutes","in":"query","schemaId":"schema_159","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Радиус вокруг каждой станции; одна минута равна 80 метрам."},"children":[]}]}]}]},{"name":"district","in":"query","schemaId":"schema_160","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Названия районов; параметр можно повторять, районы объединяются через OR."},"children":[]}]}]}]},{"name":"price_from","in":"query","schemaId":"schema_121","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Нижняя граница цены."},"children":[]}]}]}]},{"name":"price_to","in":"query","schemaId":"schema_121","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Верхняя граница цены; не меньше "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"price_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}],"pointer":"/paths/~1api~1search~1services~1count/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/search/services/count","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[{"name":"q","in":"query","required":false,"schemaId":"schema_153"},{"name":"category_id","in":"query","required":false,"schemaId":"schema_97"},{"name":"lat","in":"query","required":false,"schemaId":"schema_154"},{"name":"lon","in":"query","required":false,"schemaId":"schema_155"},{"name":"radius_m","in":"query","required":false,"schemaId":"schema_156"},{"name":"address","in":"query","required":false,"schemaId":"schema_157"},{"name":"city","in":"query","required":false,"schemaId":"schema_96"},{"name":"metro","in":"query","required":false,"schemaId":"schema_158","style":"form","explode":true},{"name":"metro_minutes","in":"query","required":false,"schemaId":"schema_159"},{"name":"district","in":"query","required":false,"schemaId":"schema_160","style":"form","explode":true},{"name":"price_from","in":"query","required":false,"schemaId":"schema_121"},{"name":"price_to","in":"query","required":false,"schemaId":"schema_121"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","422","429"],"pointer":"/api/search/services/count","href":"poisk/countservices","openApiOperationId":"countServices","summary":"Подсчитать количество услуг","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Количество услуг успешно получено"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SearchCountResponse","exampleIds":["paths/~1api~1search~1services~1count/get/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/SearchCountResponse","exampleIds":["paths/~1api~1search~1services~1count/get/responses/200/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1services~1count/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1search~1services~1count/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1search~1services~1count/get/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1services~1count/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1search~1services~1count/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1search~1services~1count/get/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1services~1count/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1services~1count/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"422","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не удалось геокодировать адрес"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"},{"code":"429","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Превышен лимит запросов."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Поле "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"data.TTL"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" содержит количество секунд до следующей попытки."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/TooManyRequestResponse","exampleIds":["paths/~1api~1search~1services~1count/get/responses/429/content/application~1json/examples/too_many"]}},"schemaId":"components/schemas/TooManyRequestResponse","exampleIds":["paths/~1api~1search~1services~1count/get/responses/429/content/application~1json/examples/too_many"]}],"pointer":"/paths/~1api~1search~1services~1count/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/SearchCountResponse","exampleIds":["paths/~1api~1search~1services~1count/get/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SearchCountResponse","exampleIds":["paths/~1api~1search~1services~1count/get/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1services~1count/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1search~1services~1count/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1search~1services~1count/get/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1services~1count/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1search~1services~1count/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1search~1services~1count/get/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1services~1count/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1services~1count/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"422","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}},{"code":"429","schemaId":"components/schemas/TooManyRequestResponse","exampleIds":["paths/~1api~1search~1services~1count/get/responses/429/content/application~1json/examples/too_many"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/TooManyRequestResponse","exampleIds":["paths/~1api~1search~1services~1count/get/responses/429/content/application~1json/examples/too_many"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/poisk/countservices"}],"panels":[]}]},"httpPath":"/api/search/services/count"},{"label":"Подсчитать количество мастеров","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/poisk/countmasters","routeSlug":"/openapi/poisk/countmasters","metadata":{"seo":{"title":"Подсчитать количество мастеров","description":"Возвращает точное количество мастеров, соответствующих текстовому запросу и фильтрам,без загрузки самих документов из Meilisearch."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"countMasters","name":"Подсчитать количество мастеров","isWebhook":false,"pointer":"/paths/~1api~1search~1masters~1count/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Подсчитать количество мастеров","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает точное количество мастеров, соответствующих текстовому запросу и фильтрам,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"без загрузки самих документов из Meilisearch."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Поддерживает те же фильтры и георежимы, что "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET /api/search/masters"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Каждый "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"user_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" мастера учитывается один раз, независимо от количества подходящих локаций."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Для "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CLIENT_PLACE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" применяется собственный "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"radius_km"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" мастера."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Одновременно разрешён только один явный георежим: точка с радиусом, адрес, метро или районы."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Если георежим не передан, используется геолокация профиля."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"q","in":"query","schemaId":"schema_153","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Текст поискового запроса."},"children":[]}]}]}]},{"name":"category_id","in":"query","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Категория вместе со всеми её подкатегориями."},"children":[]}]}]}]},{"name":"lat","in":"query","schemaId":"schema_154","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Широта точки; передаётся вместе с "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"lon"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"radius_m"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"name":"lon","in":"query","schemaId":"schema_155","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Долгота точки; передаётся вместе с "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"lat"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"radius_m"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"name":"radius_m","in":"query","schemaId":"schema_156","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Радиус поиска в метрах для фиксированных локаций. В поиске услуг и мастеров"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CLIENT_PLACE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" проверяется по собственному "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"radius_km"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", а не по этому параметру."},"children":[]}]}]}]},{"name":"address","in":"query","schemaId":"schema_157","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Адрес, который геокодируется в точку поиска."},"children":[]}]}]}]},{"name":"city","in":"query","schemaId":"schema_96","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Город для поиска по метро или районам."},"children":[]}]}]}]},{"name":"metro","in":"query","schemaId":"schema_158","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Названия станций метро; параметр можно повторять."},"children":[]}]}]}]},{"name":"metro_minutes","in":"query","schemaId":"schema_159","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Радиус вокруг каждой станции; одна минута равна 80 метрам."},"children":[]}]}]}]},{"name":"district","in":"query","schemaId":"schema_160","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Названия районов; параметр можно повторять, районы объединяются через OR."},"children":[]}]}]}]},{"name":"price_from","in":"query","schemaId":"schema_121","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Нижняя граница цены."},"children":[]}]}]}]},{"name":"price_to","in":"query","schemaId":"schema_121","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Верхняя граница цены; не меньше "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"price_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}],"pointer":"/paths/~1api~1search~1masters~1count/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/search/masters/count","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[{"name":"q","in":"query","required":false,"schemaId":"schema_153"},{"name":"category_id","in":"query","required":false,"schemaId":"schema_97"},{"name":"lat","in":"query","required":false,"schemaId":"schema_154"},{"name":"lon","in":"query","required":false,"schemaId":"schema_155"},{"name":"radius_m","in":"query","required":false,"schemaId":"schema_156"},{"name":"address","in":"query","required":false,"schemaId":"schema_157"},{"name":"city","in":"query","required":false,"schemaId":"schema_96"},{"name":"metro","in":"query","required":false,"schemaId":"schema_158","style":"form","explode":true},{"name":"metro_minutes","in":"query","required":false,"schemaId":"schema_159"},{"name":"district","in":"query","required":false,"schemaId":"schema_160","style":"form","explode":true},{"name":"price_from","in":"query","required":false,"schemaId":"schema_121"},{"name":"price_to","in":"query","required":false,"schemaId":"schema_121"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","422","429"],"pointer":"/api/search/masters/count","href":"poisk/countmasters","openApiOperationId":"countMasters","summary":"Подсчитать количество мастеров","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Количество мастеров успешно получено"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SearchCountResponse","exampleIds":["paths/~1api~1search~1masters~1count/get/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/SearchCountResponse","exampleIds":["paths/~1api~1search~1masters~1count/get/responses/200/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1masters~1count/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1search~1masters~1count/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1search~1masters~1count/get/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1masters~1count/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1search~1masters~1count/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1search~1masters~1count/get/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1masters~1count/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1masters~1count/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"422","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не удалось геокодировать адрес"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"},{"code":"429","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Превышен лимит запросов."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Поле "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"data.TTL"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" содержит количество секунд до следующей попытки."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/TooManyRequestResponse","exampleIds":["paths/~1api~1search~1masters~1count/get/responses/429/content/application~1json/examples/too_many"]}},"schemaId":"components/schemas/TooManyRequestResponse","exampleIds":["paths/~1api~1search~1masters~1count/get/responses/429/content/application~1json/examples/too_many"]}],"pointer":"/paths/~1api~1search~1masters~1count/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/SearchCountResponse","exampleIds":["paths/~1api~1search~1masters~1count/get/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SearchCountResponse","exampleIds":["paths/~1api~1search~1masters~1count/get/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1masters~1count/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1search~1masters~1count/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1search~1masters~1count/get/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1masters~1count/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1search~1masters~1count/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1search~1masters~1count/get/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1masters~1count/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1masters~1count/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"422","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}},{"code":"429","schemaId":"components/schemas/TooManyRequestResponse","exampleIds":["paths/~1api~1search~1masters~1count/get/responses/429/content/application~1json/examples/too_many"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/TooManyRequestResponse","exampleIds":["paths/~1api~1search~1masters~1count/get/responses/429/content/application~1json/examples/too_many"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/poisk/countmasters"}],"panels":[]}]},"httpPath":"/api/search/masters/count"},{"label":"Подсчитать количество салонов","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/poisk/countsalons","routeSlug":"/openapi/poisk/countsalons","metadata":{"seo":{"title":"Подсчитать количество салонов","description":"Возвращает точное количество салонов, соответствующих текстовому запросу и фильтрам,без загрузки самих документов из Meilisearch."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"countSalons","name":"Подсчитать количество салонов","isWebhook":false,"pointer":"/paths/~1api~1search~1salons~1count/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Подсчитать количество салонов","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает точное количество салонов, соответствующих текстовому запросу и фильтрам,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"без загрузки самих документов из Meilisearch."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Поддерживает те же фильтры и георежимы, что "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET /api/search/salons"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Одновременно разрешён только один явный георежим: точка с радиусом, адрес, метро или районы."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Если георежим не передан, используется геолокация профиля."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"q","in":"query","schemaId":"schema_153","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Текст поискового запроса."},"children":[]}]}]}]},{"name":"category_id","in":"query","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Категория вместе со всеми её подкатегориями."},"children":[]}]}]}]},{"name":"lat","in":"query","schemaId":"schema_154","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Широта точки; передаётся вместе с "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"lon"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"radius_m"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"name":"lon","in":"query","schemaId":"schema_155","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Долгота точки; передаётся вместе с "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"lat"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"radius_m"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"name":"radius_m","in":"query","schemaId":"schema_156","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Радиус поиска в метрах для фиксированных локаций. В поиске услуг и мастеров"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CLIENT_PLACE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" проверяется по собственному "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"radius_km"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", а не по этому параметру."},"children":[]}]}]}]},{"name":"address","in":"query","schemaId":"schema_157","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Адрес, который геокодируется в точку поиска."},"children":[]}]}]}]},{"name":"city","in":"query","schemaId":"schema_96","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Город для поиска по метро или районам."},"children":[]}]}]}]},{"name":"metro","in":"query","schemaId":"schema_158","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Названия станций метро; параметр можно повторять."},"children":[]}]}]}]},{"name":"metro_minutes","in":"query","schemaId":"schema_159","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Радиус вокруг каждой станции; одна минута равна 80 метрам."},"children":[]}]}]}]},{"name":"district","in":"query","schemaId":"schema_160","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Названия районов; параметр можно повторять, районы объединяются через OR."},"children":[]}]}]}]},{"name":"price_from","in":"query","schemaId":"schema_121","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Нижняя граница цены."},"children":[]}]}]}]},{"name":"price_to","in":"query","schemaId":"schema_121","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Верхняя граница цены; не меньше "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"price_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}],"pointer":"/paths/~1api~1search~1salons~1count/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/search/salons/count","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[{"name":"q","in":"query","required":false,"schemaId":"schema_153"},{"name":"category_id","in":"query","required":false,"schemaId":"schema_97"},{"name":"lat","in":"query","required":false,"schemaId":"schema_154"},{"name":"lon","in":"query","required":false,"schemaId":"schema_155"},{"name":"radius_m","in":"query","required":false,"schemaId":"schema_156"},{"name":"address","in":"query","required":false,"schemaId":"schema_157"},{"name":"city","in":"query","required":false,"schemaId":"schema_96"},{"name":"metro","in":"query","required":false,"schemaId":"schema_158","style":"form","explode":true},{"name":"metro_minutes","in":"query","required":false,"schemaId":"schema_159"},{"name":"district","in":"query","required":false,"schemaId":"schema_160","style":"form","explode":true},{"name":"price_from","in":"query","required":false,"schemaId":"schema_121"},{"name":"price_to","in":"query","required":false,"schemaId":"schema_121"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","422","429"],"pointer":"/api/search/salons/count","href":"poisk/countsalons","openApiOperationId":"countSalons","summary":"Подсчитать количество салонов","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Количество салонов успешно получено"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SearchCountResponse","exampleIds":["paths/~1api~1search~1salons~1count/get/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/SearchCountResponse","exampleIds":["paths/~1api~1search~1salons~1count/get/responses/200/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1salons~1count/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1search~1salons~1count/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1search~1salons~1count/get/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1salons~1count/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1search~1salons~1count/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1search~1salons~1count/get/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1salons~1count/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1salons~1count/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"422","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не удалось геокодировать адрес"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"},{"code":"429","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Превышен лимит запросов."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Поле "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"data.TTL"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" содержит количество секунд до следующей попытки."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/TooManyRequestResponse","exampleIds":["paths/~1api~1search~1salons~1count/get/responses/429/content/application~1json/examples/too_many"]}},"schemaId":"components/schemas/TooManyRequestResponse","exampleIds":["paths/~1api~1search~1salons~1count/get/responses/429/content/application~1json/examples/too_many"]}],"pointer":"/paths/~1api~1search~1salons~1count/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/SearchCountResponse","exampleIds":["paths/~1api~1search~1salons~1count/get/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SearchCountResponse","exampleIds":["paths/~1api~1search~1salons~1count/get/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1salons~1count/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1search~1salons~1count/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1search~1salons~1count/get/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1salons~1count/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1search~1salons~1count/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1search~1salons~1count/get/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1salons~1count/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1salons~1count/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"422","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}},{"code":"429","schemaId":"components/schemas/TooManyRequestResponse","exampleIds":["paths/~1api~1search~1salons~1count/get/responses/429/content/application~1json/examples/too_many"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/TooManyRequestResponse","exampleIds":["paths/~1api~1search~1salons~1count/get/responses/429/content/application~1json/examples/too_many"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/poisk/countsalons"}],"panels":[]}]},"httpPath":"/api/search/salons/count"},{"label":"Подсчитать общее количество результатов","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/poisk/countallsearchresults","routeSlug":"/openapi/poisk/countallsearchresults","metadata":{"seo":{"title":"Подсчитать общее количество результатов","description":"Возвращает сумму количества услуг, мастеров и салонов, соответствующих запросу и фильтрам.Документы из Meilisearch не загружаются."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"countAllSearchResults","name":"Подсчитать общее количество результатов","isWebhook":false,"pointer":"/paths/~1api~1search~1all~1count/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Подсчитать общее количество результатов","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает сумму количества услуг, мастеров и салонов, соответствующих запросу и фильтрам."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Документы из Meilisearch не загружаются."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Поддерживает те же фильтры и георежимы, что "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET /api/search/all"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Услуга учитывается один раз по логическому "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", мастер — один раз по "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"user_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":","},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"даже если геофильтру соответствуют несколько их локаций. Для "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CLIENT_PLACE"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"применяется собственный "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"radius_km"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" услуги или мастера."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Одновременно разрешён только один явный георежим: точка с радиусом, адрес, метро или районы."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Если георежим не передан, используется геолокация профиля."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"q","in":"query","schemaId":"schema_153","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Текст поискового запроса."},"children":[]}]}]}]},{"name":"category_id","in":"query","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Категория вместе со всеми её подкатегориями."},"children":[]}]}]}]},{"name":"lat","in":"query","schemaId":"schema_154","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Широта точки; передаётся вместе с "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"lon"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"radius_m"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"name":"lon","in":"query","schemaId":"schema_155","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Долгота точки; передаётся вместе с "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"lat"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"radius_m"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"name":"radius_m","in":"query","schemaId":"schema_156","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Радиус поиска в метрах для фиксированных локаций. В поиске услуг и мастеров"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CLIENT_PLACE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" проверяется по собственному "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"radius_km"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", а не по этому параметру."},"children":[]}]}]}]},{"name":"address","in":"query","schemaId":"schema_157","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Адрес, который геокодируется в точку поиска."},"children":[]}]}]}]},{"name":"city","in":"query","schemaId":"schema_96","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Город для поиска по метро или районам."},"children":[]}]}]}]},{"name":"metro","in":"query","schemaId":"schema_158","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Названия станций метро; параметр можно повторять."},"children":[]}]}]}]},{"name":"metro_minutes","in":"query","schemaId":"schema_159","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Радиус вокруг каждой станции; одна минута равна 80 метрам."},"children":[]}]}]}]},{"name":"district","in":"query","schemaId":"schema_160","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Названия районов; параметр можно повторять, районы объединяются через OR."},"children":[]}]}]}]},{"name":"price_from","in":"query","schemaId":"schema_121","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Нижняя граница цены."},"children":[]}]}]}]},{"name":"price_to","in":"query","schemaId":"schema_121","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Верхняя граница цены; не меньше "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"price_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}],"pointer":"/paths/~1api~1search~1all~1count/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/search/all/count","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[{"name":"q","in":"query","required":false,"schemaId":"schema_153"},{"name":"category_id","in":"query","required":false,"schemaId":"schema_97"},{"name":"lat","in":"query","required":false,"schemaId":"schema_154"},{"name":"lon","in":"query","required":false,"schemaId":"schema_155"},{"name":"radius_m","in":"query","required":false,"schemaId":"schema_156"},{"name":"address","in":"query","required":false,"schemaId":"schema_157"},{"name":"city","in":"query","required":false,"schemaId":"schema_96"},{"name":"metro","in":"query","required":false,"schemaId":"schema_158","style":"form","explode":true},{"name":"metro_minutes","in":"query","required":false,"schemaId":"schema_159"},{"name":"district","in":"query","required":false,"schemaId":"schema_160","style":"form","explode":true},{"name":"price_from","in":"query","required":false,"schemaId":"schema_121"},{"name":"price_to","in":"query","required":false,"schemaId":"schema_121"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","422","429"],"pointer":"/api/search/all/count","href":"poisk/countallsearchresults","openApiOperationId":"countAllSearchResults","summary":"Подсчитать общее количество результатов","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Общее количество результатов успешно получено"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SearchCountResponse","exampleIds":["paths/~1api~1search~1all~1count/get/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/SearchCountResponse","exampleIds":["paths/~1api~1search~1all~1count/get/responses/200/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1all~1count/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1search~1all~1count/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1search~1all~1count/get/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1all~1count/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1search~1all~1count/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1search~1all~1count/get/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1all~1count/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1all~1count/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"422","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не удалось геокодировать адрес"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"},{"code":"429","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Превышен лимит запросов."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Поле "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"data.TTL"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" содержит количество секунд до следующей попытки."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/TooManyRequestResponse","exampleIds":["paths/~1api~1search~1all~1count/get/responses/429/content/application~1json/examples/too_many"]}},"schemaId":"components/schemas/TooManyRequestResponse","exampleIds":["paths/~1api~1search~1all~1count/get/responses/429/content/application~1json/examples/too_many"]}],"pointer":"/paths/~1api~1search~1all~1count/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/SearchCountResponse","exampleIds":["paths/~1api~1search~1all~1count/get/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SearchCountResponse","exampleIds":["paths/~1api~1search~1all~1count/get/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1all~1count/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1search~1all~1count/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1search~1all~1count/get/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1all~1count/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1search~1all~1count/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1search~1all~1count/get/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1all~1count/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1all~1count/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"422","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}},{"code":"429","schemaId":"components/schemas/TooManyRequestResponse","exampleIds":["paths/~1api~1search~1all~1count/get/responses/429/content/application~1json/examples/too_many"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/TooManyRequestResponse","exampleIds":["paths/~1api~1search~1all~1count/get/responses/429/content/application~1json/examples/too_many"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/poisk/countallsearchresults"}],"panels":[]}]},"httpPath":"/api/search/all/count"}],"content":{"contentType":"group","meta":{"name":"Поиск"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Поиск","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Поиск услуг с фильтрацией, сортировкой и геолокацией, а также справочники метро, районов и населённых пунктов."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/api/metro","summary":"Получить станции метро по названию города","prefix":{"name":"get","color":"get"},"badges":[],"link":"/poisk/paths/~1api~1metro/get","deprecated":false},{"title":"/api/metro/lines","summary":"Получить линии метро по названию города","prefix":{"name":"get","color":"get"},"badges":[],"link":"/poisk/paths/~1api~1metro~1lines/get","deprecated":false},{"title":"/api/districts","summary":"Получить районы по названию города","prefix":{"name":"get","color":"get"},"badges":[],"link":"/poisk/paths/~1api~1districts/get","deprecated":false},{"title":"/api/search/suggestions","summary":"Получить подсказки услуг, салонов и мастеров","prefix":{"name":"get","color":"get"},"badges":[],"link":"/poisk/paths/~1api~1search~1suggestions/get","deprecated":false},{"title":"/api/search/all","summary":"Общий поиск услуг, салонов и мастеров","prefix":{"name":"get","color":"get"},"badges":[],"link":"/poisk/paths/~1api~1search~1all/get","deprecated":false},{"title":"/api/search/services","summary":"Поиск услуг","prefix":{"name":"get","color":"get"},"badges":[],"link":"/poisk/paths/~1api~1search~1services/get","deprecated":false},{"title":"/api/search/masters","summary":"Поиск мастеров","prefix":{"name":"get","color":"get"},"badges":[],"link":"/poisk/paths/~1api~1search~1masters/get","deprecated":false},{"title":"/api/search/salons","summary":"Поиск салонов","prefix":{"name":"get","color":"get"},"badges":[],"link":"/poisk/paths/~1api~1search~1salons/get","deprecated":false},{"title":"/api/search/services/count","summary":"Подсчитать количество услуг","prefix":{"name":"get","color":"get"},"badges":[],"link":"/poisk/countservices","deprecated":false},{"title":"/api/search/masters/count","summary":"Подсчитать количество мастеров","prefix":{"name":"get","color":"get"},"badges":[],"link":"/poisk/countmasters","deprecated":false},{"title":"/api/search/salons/count","summary":"Подсчитать количество салонов","prefix":{"name":"get","color":"get"},"badges":[],"link":"/poisk/countsalons","deprecated":false},{"title":"/api/search/all/count","summary":"Подсчитать общее количество результатов","prefix":{"name":"get","color":"get"},"badges":[],"link":"/poisk/countallsearchresults","deprecated":false}]}]}]}]}},{"type":"group","label":"Подсказки","link":"/openapi/podskazki","routeSlug":"/openapi/podskazki","items":[{"label":"Получить подсказки адресов с координатами","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/podskazki/paths/~1api~1search~1addresses/get","routeSlug":"/openapi/podskazki/paths/~1api~1search~1addresses/get","metadata":{"seo":{"title":"Получить подсказки адресов с координатами","description":"Возвращает подсказки адресов DaData с координатами."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить подсказки адресов с координатами","isWebhook":false,"pointer":"/paths/~1api~1search~1addresses/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить подсказки адресов с координатами","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает подсказки адресов DaData с координатами."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Правила:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"параметр "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"query"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" обязателен, максимальная длина — 300 символов;"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"fias_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" должны быть получены из "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/api/search/places"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":";"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"при "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"type=city"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" используется "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"city_fias_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", при "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"type=settlement"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"settlement_fias_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":";"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"limit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" по умолчанию равен "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"10"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", допустимый диапазон — от "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"1"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" до "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"20"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":";"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT пользователя."},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"query","in":"query","schemaId":"schema_166","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Строка поиска адреса."},"children":[]}]}]}],"required":true,"example":"Москва, Тверская"},{"name":"fias_id","in":"query","schemaId":"schema_167","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"FIAS ID selected in "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/api/search/places"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true,"example":"0c2b5982-132d-4941-8fad-c94c6334fc91"},{"name":"type","in":"query","schemaId":"schema_168","description":"DaData locality level associated with the FIAS ID.","required":true,"example":"city"},{"name":"limit","in":"query","schemaId":"schema_169","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Максимальное количество подсказок."},"children":[]}]}]}],"example":5}],"pointer":"/paths/~1api~1search~1addresses/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/search/addresses","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[{"name":"query","in":"query","required":true,"example":"Москва, Тверская","schemaId":"schema_166"},{"name":"fias_id","in":"query","required":true,"example":"0c2b5982-132d-4941-8fad-c94c6334fc91","schemaId":"schema_167"},{"name":"type","in":"query","required":true,"example":"city","schemaId":"schema_168"},{"name":"limit","in":"query","required":false,"example":5,"schemaId":"schema_169"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","422"],"pointer":"/api/search/addresses","href":"podskazki/paths/~1api~1search~1addresses/get","summary":"Получить подсказки адресов с координатами","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Подсказки адресов с координатами"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AddressSearchSuggestionsApiResponse","exampleIds":["paths/~1api~1search~1addresses/get/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/AddressSearchSuggestionsApiResponse","exampleIds":["paths/~1api~1search~1addresses/get/responses/200/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1addresses/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1search~1addresses/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1search~1addresses/get/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1addresses/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1search~1addresses/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1search~1addresses/get/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1addresses/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1addresses/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"422","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не удалось получить подсказки адресов"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1addresses/get/responses/422/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1addresses/get/responses/422/content/application~1json/example"]}],"pointer":"/paths/~1api~1search~1addresses/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/AddressSearchSuggestionsApiResponse","exampleIds":["paths/~1api~1search~1addresses/get/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AddressSearchSuggestionsApiResponse","exampleIds":["paths/~1api~1search~1addresses/get/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1addresses/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1search~1addresses/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1search~1addresses/get/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1addresses/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1search~1addresses/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1search~1addresses/get/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1addresses/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1addresses/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"422","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1addresses/get/responses/422/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1addresses/get/responses/422/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/podskazki/paths/~1api~1search~1addresses/get"}],"panels":[]}]},"httpPath":"/api/search/addresses"},{"label":"Получить город и адрес по координатам","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/podskazki/paths/~1api~1geocoder~1reverse/get","routeSlug":"/openapi/podskazki/paths/~1api~1geocoder~1reverse/get","metadata":{"seo":{"title":"Получить город и адрес по координатам","description":"Передайте координаты устройства, затем используйте полученные city и address вместе с исходными координатами в POST /api/user/addresses."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить город и адрес по координатам","isWebhook":false,"pointer":"/paths/~1api~1geocoder~1reverse/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить город и адрес по координатам","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Передайте координаты устройства, затем используйте полученные "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"city"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"address"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" вместе с исходными координатами в "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"POST /api/user/addresses"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"lat","in":"query","schemaId":"schema_154","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Широта устройства."},"children":[]}]}]}],"required":true,"example":55.751244},{"name":"lon","in":"query","schemaId":"schema_155","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Долгота устройства."},"children":[]}]}]}],"required":true,"example":37.618423}],"pointer":"/paths/~1api~1geocoder~1reverse/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/geocoder/reverse","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[{"name":"lat","in":"query","required":true,"example":55.751244,"schemaId":"schema_154"},{"name":"lon","in":"query","required":true,"example":37.618423,"schemaId":"schema_155"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","422","500"],"pointer":"/api/geocoder/reverse","href":"podskazki/paths/~1api~1geocoder~1reverse/get","summary":"Получить город и адрес по координатам","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Город и полный адрес успешно определены по координатам"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ResolvedLocationApiResponse","exampleIds":["paths/~1api~1geocoder~1reverse/get/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/ResolvedLocationApiResponse","exampleIds":["paths/~1api~1geocoder~1reverse/get/responses/200/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"lat"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" или "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"lon"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" отсутствует, не является числом либо выходит за допустимый диапазон"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1geocoder~1reverse/get/responses/400/content/application~1json/examples/invalid_lat","paths/~1api~1geocoder~1reverse/get/responses/400/content/application~1json/examples/invalid_lon","paths/~1api~1geocoder~1reverse/get/responses/400/content/application~1json/examples/non_numeric_lat"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1geocoder~1reverse/get/responses/400/content/application~1json/examples/invalid_lat","paths/~1api~1geocoder~1reverse/get/responses/400/content/application~1json/examples/invalid_lon","paths/~1api~1geocoder~1reverse/get/responses/400/content/application~1json/examples/non_numeric_lat"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1geocoder~1reverse/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1geocoder~1reverse/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"422","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Геокодер не смог определить одновременно город и полный адрес по переданным координатам"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1geocoder~1reverse/get/responses/422/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1geocoder~1reverse/get/responses/422/content/application~1json/example"]},{"code":"500","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Непредвиденная внутренняя ошибка сервера"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1geocoder~1reverse/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1geocoder~1reverse/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1api~1geocoder~1reverse/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/ResolvedLocationApiResponse","exampleIds":["paths/~1api~1geocoder~1reverse/get/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ResolvedLocationApiResponse","exampleIds":["paths/~1api~1geocoder~1reverse/get/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1geocoder~1reverse/get/responses/400/content/application~1json/examples/invalid_lat","paths/~1api~1geocoder~1reverse/get/responses/400/content/application~1json/examples/invalid_lon","paths/~1api~1geocoder~1reverse/get/responses/400/content/application~1json/examples/non_numeric_lat"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1geocoder~1reverse/get/responses/400/content/application~1json/examples/invalid_lat","paths/~1api~1geocoder~1reverse/get/responses/400/content/application~1json/examples/invalid_lon","paths/~1api~1geocoder~1reverse/get/responses/400/content/application~1json/examples/non_numeric_lat"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1geocoder~1reverse/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1geocoder~1reverse/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"422","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1geocoder~1reverse/get/responses/422/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1geocoder~1reverse/get/responses/422/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1geocoder~1reverse/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1geocoder~1reverse/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/podskazki/paths/~1api~1geocoder~1reverse/get"}],"panels":[]}]},"httpPath":"/api/geocoder/reverse"},{"label":"Поиск городов, ПГТ, сёл и деревень","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/podskazki/paths/~1api~1search~1places/get","routeSlug":"/openapi/podskazki/paths/~1api~1search~1places/get","metadata":{"seo":{"title":"Поиск городов, ПГТ, сёл и деревень","description":"Возвращает подсказки населённых пунктов России и признаки наличия метрои районов в справочниках поиска."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Поиск городов, ПГТ, сёл и деревень","isWebhook":false,"pointer":"/paths/~1api~1search~1places/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Поиск городов, ПГТ, сёл и деревень","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает подсказки населённых пунктов России и признаки наличия метро"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"и районов в справочниках поиска."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Правила:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"query"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" обязателен как параметр"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"пустой "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"query"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" возвращает пустой список"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"query"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" должен быть не длиннее 300 символов"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"limit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" необязателен, значение по умолчанию "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"5"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", диапазон от "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"1"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" до "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"20"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"лимит последовательно заполняется в порядке: город, ПГТ, село, деревня"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"для ПГТ, сёл и деревень оба признака всегда равны "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"false"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"query","in":"query","schemaId":"schema_157","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Начало названия города, ПГТ, села или деревни."},"children":[]}]}]}],"required":true,"example":"моск"},{"name":"limit","in":"query","schemaId":"schema_131","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Максимальное количество результатов."},"children":[]}]}]}],"example":5}],"pointer":"/paths/~1api~1search~1places/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/search/places","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[{"name":"query","in":"query","required":true,"example":"моск","schemaId":"schema_157"},{"name":"limit","in":"query","required":false,"example":5,"schemaId":"schema_131"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","422"],"pointer":"/api/search/places","href":"podskazki/paths/~1api~1search~1places/get","summary":"Поиск городов, ПГТ, сёл и деревень","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Найденные населённые пункты"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/PlaceSearchListApiResponse","exampleIds":["paths/~1api~1search~1places/get/responses/200/content/application~1json/examples/ok","paths/~1api~1search~1places/get/responses/200/content/application~1json/examples/blank_query"]}},"schemaId":"components/schemas/PlaceSearchListApiResponse","exampleIds":["paths/~1api~1search~1places/get/responses/200/content/application~1json/examples/ok","paths/~1api~1search~1places/get/responses/200/content/application~1json/examples/blank_query"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1places/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1search~1places/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1search~1places/get/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1places/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1search~1places/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1search~1places/get/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1places/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1places/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"422","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не удалось получить подсказки населённых пунктов"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1places/get/responses/422/content/application~1json/examples/place_suggestions_failed"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1places/get/responses/422/content/application~1json/examples/place_suggestions_failed"]}],"pointer":"/paths/~1api~1search~1places/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/PlaceSearchListApiResponse","exampleIds":["paths/~1api~1search~1places/get/responses/200/content/application~1json/examples/ok","paths/~1api~1search~1places/get/responses/200/content/application~1json/examples/blank_query"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/PlaceSearchListApiResponse","exampleIds":["paths/~1api~1search~1places/get/responses/200/content/application~1json/examples/ok","paths/~1api~1search~1places/get/responses/200/content/application~1json/examples/blank_query"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1places/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1search~1places/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1search~1places/get/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1places/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1search~1places/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1search~1places/get/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1places/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1places/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"422","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1places/get/responses/422/content/application~1json/examples/place_suggestions_failed"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1search~1places/get/responses/422/content/application~1json/examples/place_suggestions_failed"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/podskazki/paths/~1api~1search~1places/get"}],"panels":[]}]},"httpPath":"/api/search/places"},{"label":"Получить подсказки адресов","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/podskazki/paths/~1api~1suggestions~1address/get","routeSlug":"/openapi/podskazki/paths/~1api~1suggestions~1address/get","metadata":{"seo":{"title":"Получить подсказки адресов","description":"Возвращает список адресов с координатами для автозаполнения форм."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить подсказки адресов","isWebhook":false,"pointer":"/paths/~1api~1suggestions~1address/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить подсказки адресов","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает список адресов с координатами для автозаполнения форм."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Правила поиска:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"query"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" обязателен"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"query"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" не должен быть пустым"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"query"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" должен быть не длиннее 300 символов"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"limit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" необязателен, значение по умолчанию "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"10"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"limit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" должен быть в диапазоне от "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"1"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" до "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"20"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"query","in":"query","schemaId":"schema_166","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Строка поиска адреса."},"children":[]}]}]}],"required":true,"example":"москва хабар"},{"name":"limit","in":"query","schemaId":"schema_169","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Максимальное количество подсказок. Сервер ограничивает значение диапазоном от 1 до 20."},"children":[]}]}]}],"example":5}],"pointer":"/paths/~1api~1suggestions~1address/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/suggestions/address","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[{"name":"query","in":"query","required":true,"example":"москва хабар","schemaId":"schema_166"},{"name":"limit","in":"query","required":false,"example":5,"schemaId":"schema_169"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","422"],"pointer":"/api/suggestions/address","href":"podskazki/paths/~1api~1suggestions~1address/get","summary":"Получить подсказки адресов","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Подсказки адресов успешно получены"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AddressSuggestionsApiResponse","exampleIds":["paths/~1api~1suggestions~1address/get/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/AddressSuggestionsApiResponse","exampleIds":["paths/~1api~1suggestions~1address/get/responses/200/content/application~1json/examples/ok"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1suggestions~1address/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1suggestions~1address/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1suggestions~1address/get/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1suggestions~1address/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1suggestions~1address/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1suggestions~1address/get/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1suggestions~1address/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1suggestions~1address/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"422","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Подсказки адресов не удалось получить"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1suggestions~1address/get/responses/422/content/application~1json/examples/address_suggestions_failed"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1suggestions~1address/get/responses/422/content/application~1json/examples/address_suggestions_failed"]}],"pointer":"/paths/~1api~1suggestions~1address/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/AddressSuggestionsApiResponse","exampleIds":["paths/~1api~1suggestions~1address/get/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AddressSuggestionsApiResponse","exampleIds":["paths/~1api~1suggestions~1address/get/responses/200/content/application~1json/examples/ok"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1suggestions~1address/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1suggestions~1address/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1suggestions~1address/get/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1suggestions~1address/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1suggestions~1address/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1suggestions~1address/get/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1suggestions~1address/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1suggestions~1address/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"422","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1suggestions~1address/get/responses/422/content/application~1json/examples/address_suggestions_failed"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1suggestions~1address/get/responses/422/content/application~1json/examples/address_suggestions_failed"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/podskazki/paths/~1api~1suggestions~1address/get"}],"panels":[]}]},"httpPath":"/api/suggestions/address"},{"label":"Получить подсказки городов и населённых пунктов","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/podskazki/paths/~1api~1suggestions~1cities/get","routeSlug":"/openapi/podskazki/paths/~1api~1suggestions~1cities/get","metadata":{"seo":{"title":"Получить подсказки городов и населённых пунктов","description":"Возвращает список городов, ПГТ, сёл и деревень из DaData для автозаполнения форм.Использует ту же выборку и порядок, что и /api/search/places, но возвращаеттолько названия без признаков метро и районов."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить подсказки городов и населённых пунктов","isWebhook":false,"pointer":"/paths/~1api~1suggestions~1cities/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить подсказки городов и населённых пунктов","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает список городов, ПГТ, сёл и деревень из DaData для автозаполнения форм."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Использует ту же выборку и порядок, что и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/api/search/places"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", но возвращает"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"только названия без признаков метро и районов."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Правила поиска:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"query"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" обязателен как параметр"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"если "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"query"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" пустой или состоит из пробелов, возвращается пустой список"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"query"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" должен быть не длиннее 300 символов"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"limit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" необязателен, значение по умолчанию "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"5"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"limit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" должен быть в диапазоне от "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"1"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" до "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"20"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"лимит последовательно заполняется в порядке: город, ПГТ, село, деревня"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"query","in":"query","schemaId":"schema_157","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Строка поиска города или населённого пункта."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Параметр обязателен, но для пустой строки или строки из пробелов"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"возвращается успешный ответ с "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"data.items: []"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true,"example":"моск"},{"name":"limit","in":"query","schemaId":"schema_131","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Максимальное количество подсказок. Сервер ограничивает значение диапазоном от 1 до 20."},"children":[]}]}]}],"example":5}],"pointer":"/paths/~1api~1suggestions~1cities/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/suggestions/cities","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[{"name":"query","in":"query","required":true,"example":"моск","schemaId":"schema_157"},{"name":"limit","in":"query","required":false,"example":5,"schemaId":"schema_131"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","422"],"pointer":"/api/suggestions/cities","href":"podskazki/paths/~1api~1suggestions~1cities/get","summary":"Получить подсказки городов и населённых пунктов","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Подсказки городов и населённых пунктов успешно получены"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CitySuggestionsApiResponse","exampleIds":["paths/~1api~1suggestions~1cities/get/responses/200/content/application~1json/examples/ok","paths/~1api~1suggestions~1cities/get/responses/200/content/application~1json/examples/blank_query"]}},"schemaId":"components/schemas/CitySuggestionsApiResponse","exampleIds":["paths/~1api~1suggestions~1cities/get/responses/200/content/application~1json/examples/ok","paths/~1api~1suggestions~1cities/get/responses/200/content/application~1json/examples/blank_query"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1suggestions~1cities/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1suggestions~1cities/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1suggestions~1cities/get/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1suggestions~1cities/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1suggestions~1cities/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1suggestions~1cities/get/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1suggestions~1cities/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1suggestions~1cities/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"422","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Подсказки городов и населённых пунктов не удалось получить"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1suggestions~1cities/get/responses/422/content/application~1json/examples/address_suggestions_failed"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1suggestions~1cities/get/responses/422/content/application~1json/examples/address_suggestions_failed"]}],"pointer":"/paths/~1api~1suggestions~1cities/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/CitySuggestionsApiResponse","exampleIds":["paths/~1api~1suggestions~1cities/get/responses/200/content/application~1json/examples/ok","paths/~1api~1suggestions~1cities/get/responses/200/content/application~1json/examples/blank_query"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CitySuggestionsApiResponse","exampleIds":["paths/~1api~1suggestions~1cities/get/responses/200/content/application~1json/examples/ok","paths/~1api~1suggestions~1cities/get/responses/200/content/application~1json/examples/blank_query"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1suggestions~1cities/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1suggestions~1cities/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1suggestions~1cities/get/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1suggestions~1cities/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1suggestions~1cities/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1suggestions~1cities/get/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1suggestions~1cities/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1suggestions~1cities/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"422","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1suggestions~1cities/get/responses/422/content/application~1json/examples/address_suggestions_failed"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1suggestions~1cities/get/responses/422/content/application~1json/examples/address_suggestions_failed"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/podskazki/paths/~1api~1suggestions~1cities/get"}],"panels":[]}]},"httpPath":"/api/suggestions/cities"}],"content":{"contentType":"group","meta":{"name":"Подсказки"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Подсказки","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Подсказки для быстрого заполнения пользовательских форм."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/api/search/addresses","summary":"Получить подсказки адресов с координатами","prefix":{"name":"get","color":"get"},"badges":[],"link":"/podskazki/paths/~1api~1search~1addresses/get","deprecated":false},{"title":"/api/geocoder/reverse","summary":"Получить город и адрес по координатам","prefix":{"name":"get","color":"get"},"badges":[],"link":"/podskazki/paths/~1api~1geocoder~1reverse/get","deprecated":false},{"title":"/api/search/places","summary":"Поиск городов, ПГТ, сёл и деревень","prefix":{"name":"get","color":"get"},"badges":[],"link":"/podskazki/paths/~1api~1search~1places/get","deprecated":false},{"title":"/api/suggestions/address","summary":"Получить подсказки адресов","prefix":{"name":"get","color":"get"},"badges":[],"link":"/podskazki/paths/~1api~1suggestions~1address/get","deprecated":false},{"title":"/api/suggestions/cities","summary":"Получить подсказки городов и населённых пунктов","prefix":{"name":"get","color":"get"},"badges":[],"link":"/podskazki/paths/~1api~1suggestions~1cities/get","deprecated":false}]}]}]}]}},{"type":"group","label":"Категории","link":"/openapi/kategorii","routeSlug":"/openapi/kategorii","items":[{"label":"Получить корневые категории","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/kategorii/paths/~1api~1category/get","routeSlug":"/openapi/kategorii/paths/~1api~1category/get","metadata":{"seo":{"title":"Получить корневые категории","description":"Возвращает список корневых категорий (parent_id = null)."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить корневые категории","isWebhook":false,"pointer":"/paths/~1api~1category/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить корневые категории","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает список корневых категорий ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"parent_id = null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Каждая категория может содержать вложенный список "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"children"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/category","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","401"],"pointer":"/api/category","href":"kategorii/paths/~1api~1category/get","summary":"Получить корневые категории","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Список категорий успешно получен"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CategoryListResponse","exampleIds":["paths/~1api~1category/get/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/CategoryListResponse","exampleIds":["paths/~1api~1category/get/responses/200/content/application~1json/examples/ok"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category/get/responses/401/content/application~1json/examples/unauthorized"]}],"pointer":"/paths/~1api~1category/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/CategoryListResponse","exampleIds":["paths/~1api~1category/get/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CategoryListResponse","exampleIds":["paths/~1api~1category/get/responses/200/content/application~1json/examples/ok"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category/get/responses/401/content/application~1json/examples/unauthorized"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/kategorii/paths/~1api~1category/get"}],"panels":[]}]},"httpPath":"/api/category"},{"label":"Создать категорию","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/kategorii/paths/~1api~1category/post","routeSlug":"/openapi/kategorii/paths/~1api~1category/post","metadata":{"seo":{"title":"Создать категорию","description":"Создаёт новую категорию."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Создать категорию","isWebhook":false,"pointer":"/paths/~1api~1category/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Создать категорию","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Создаёт новую категорию."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Правила валидации:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"name"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" обязателен, не должен быть пустым и не должен быть длиннее 100 символов"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"parent_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если передан, должен быть положительным"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"parent_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если передан, должен ссылаться на существующую категорию"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"image"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если передан, должен быть положительным ID файла с purpose "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CARD"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"только "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ADMIN"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/CreateCategoryRequest","exampleIds":["paths/~1api~1category/post/requestBody/content/application~1json/examples/root","paths/~1api~1category/post/requestBody/content/application~1json/examples/child"]}},"schemaId":"components/schemas/CreateCategoryRequest","exampleIds":["paths/~1api~1category/post/requestBody/content/application~1json/examples/root","paths/~1api~1category/post/requestBody/content/application~1json/examples/child"],"pointer":"/paths/~1api~1category/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/category","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/CreateCategoryRequest","exampleIds":["paths/~1api~1category/post/requestBody/content/application~1json/examples/root","paths/~1api~1category/post/requestBody/content/application~1json/examples/child"]}},"responseCodes":["201","400","401","403","404"],"pointer":"/api/category","href":"kategorii/paths/~1api~1category/post","summary":"Создать категорию","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/CreateCategoryRequest","exampleIds":["paths/~1api~1category/post/requestBody/content/application~1json/examples/root","paths/~1api~1category/post/requestBody/content/application~1json/examples/child"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/CreateCategoryRequest","exampleIds":["paths/~1api~1category/post/requestBody/content/application~1json/examples/root","paths/~1api~1category/post/requestBody/content/application~1json/examples/child"]}},"examples":[{},{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Категория успешно создана"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CategorySingleResponse","exampleIds":["paths/~1api~1category/post/responses/201/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/CategorySingleResponse","exampleIds":["paths/~1api~1category/post/responses/201/content/application~1json/examples/ok"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело запроса"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category/post/responses/400/content/application~1json/examples/invalid_body"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category/post/responses/400/content/application~1json/examples/invalid_body"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category/post/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category/post/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category/post/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category/post/responses/403/content/application~1json/examples/forbidden"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Родительская категория не найдена"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category/post/responses/404/content/application~1json/examples/parent_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category/post/responses/404/content/application~1json/examples/parent_not_found"]}],"pointer":"/paths/~1api~1category/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"201","schemaId":"components/schemas/CategorySingleResponse","exampleIds":["paths/~1api~1category/post/responses/201/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CategorySingleResponse","exampleIds":["paths/~1api~1category/post/responses/201/content/application~1json/examples/ok"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category/post/responses/400/content/application~1json/examples/invalid_body"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category/post/responses/400/content/application~1json/examples/invalid_body"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category/post/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category/post/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category/post/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category/post/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category/post/responses/404/content/application~1json/examples/parent_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category/post/responses/404/content/application~1json/examples/parent_not_found"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/kategorii/paths/~1api~1category/post"}],"panels":[]}]},"httpPath":"/api/category"},{"label":"Получить категорию по id","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/kategorii/paths/~1api~1category~1{categoryid}/get","routeSlug":"/openapi/kategorii/paths/~1api~1category~1{categoryid}/get","metadata":{"seo":{"title":"Получить категорию по id","description":"Возвращает категорию по идентификатору вместе со списком children."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить категорию по id","isWebhook":false,"pointer":"/paths/~1api~1category~1{categoryId}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить категорию по id","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает категорию по идентификатору вместе со списком "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"children"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"categoryId","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор категории"},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1category~1{categoryId}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/category/{categoryId}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"categoryId","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","404"],"pointer":"/api/category/{categoryId}","href":"kategorii/paths/~1api~1category~1{categoryid}/get","summary":"Получить категорию по id","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Категория успешно получена"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CategorySingleResponse","exampleIds":["paths/~1api~1category~1{categoryId}/get/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/CategorySingleResponse","exampleIds":["paths/~1api~1category~1{categoryId}/get/responses/200/content/application~1json/examples/ok"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректный идентификатор категории"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category~1{categoryId}/get/responses/400/content/application~1json/examples/invalid_id"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category~1{categoryId}/get/responses/400/content/application~1json/examples/invalid_id"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category~1{categoryId}/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category~1{categoryId}/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Категория не найдена"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category~1{categoryId}/get/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category~1{categoryId}/get/responses/404/content/application~1json/examples/not_found"]}],"pointer":"/paths/~1api~1category~1{categoryId}/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/CategorySingleResponse","exampleIds":["paths/~1api~1category~1{categoryId}/get/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CategorySingleResponse","exampleIds":["paths/~1api~1category~1{categoryId}/get/responses/200/content/application~1json/examples/ok"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category~1{categoryId}/get/responses/400/content/application~1json/examples/invalid_id"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category~1{categoryId}/get/responses/400/content/application~1json/examples/invalid_id"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category~1{categoryId}/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category~1{categoryId}/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category~1{categoryId}/get/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category~1{categoryId}/get/responses/404/content/application~1json/examples/not_found"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/kategorii/paths/~1api~1category~1{categoryid}/get"}],"panels":[]}]},"httpPath":"/api/category/{categoryId}"},{"label":"Обновить категорию","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/kategorii/paths/~1api~1category~1{categoryid}/patch","routeSlug":"/openapi/kategorii/paths/~1api~1category~1{categoryid}/patch","metadata":{"seo":{"title":"Обновить категорию","description":"Частично обновляет категорию по идентификатору."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Обновить категорию","isWebhook":false,"pointer":"/paths/~1api~1category~1{categoryId}/patch","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Обновить категорию","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Частично обновляет категорию по идентификатору."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Правила валидации:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"хотя бы одно поле должно быть заполнено корректно"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"name"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если передан, не должен быть пустым и не должен быть длиннее 100 символов"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"parent_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если передан, должен быть положительным"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"parent_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" не может совпадать с "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"categoryId"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"цепочка родителей не должна содержать саму категорию"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"image"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если передан, должен быть положительным ID файла с purpose "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CARD"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"только "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ADMIN"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"categoryId","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор категории"},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1category~1{categoryId}/patch/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/UpdateCategoryRequest","exampleIds":["paths/~1api~1category~1{categoryId}/patch/requestBody/content/application~1json/examples/rename","paths/~1api~1category~1{categoryId}/patch/requestBody/content/application~1json/examples/move","paths/~1api~1category~1{categoryId}/patch/requestBody/content/application~1json/examples/replaceImage"]}},"schemaId":"components/schemas/UpdateCategoryRequest","exampleIds":["paths/~1api~1category~1{categoryId}/patch/requestBody/content/application~1json/examples/rename","paths/~1api~1category~1{categoryId}/patch/requestBody/content/application~1json/examples/move","paths/~1api~1category~1{categoryId}/patch/requestBody/content/application~1json/examples/replaceImage"],"pointer":"/paths/~1api~1category~1{categoryId}/patch/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PATCH","path":"/api/category/{categoryId}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"categoryId","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/UpdateCategoryRequest","exampleIds":["paths/~1api~1category~1{categoryId}/patch/requestBody/content/application~1json/examples/rename","paths/~1api~1category~1{categoryId}/patch/requestBody/content/application~1json/examples/move","paths/~1api~1category~1{categoryId}/patch/requestBody/content/application~1json/examples/replaceImage"]}},"responseCodes":["200","400","401","403","404"],"pointer":"/api/category/{categoryId}","href":"kategorii/paths/~1api~1category~1{categoryid}/patch","summary":"Обновить категорию","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/UpdateCategoryRequest","exampleIds":["paths/~1api~1category~1{categoryId}/patch/requestBody/content/application~1json/examples/rename","paths/~1api~1category~1{categoryId}/patch/requestBody/content/application~1json/examples/move","paths/~1api~1category~1{categoryId}/patch/requestBody/content/application~1json/examples/replaceImage"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/UpdateCategoryRequest","exampleIds":["paths/~1api~1category~1{categoryId}/patch/requestBody/content/application~1json/examples/rename","paths/~1api~1category~1{categoryId}/patch/requestBody/content/application~1json/examples/move","paths/~1api~1category~1{categoryId}/patch/requestBody/content/application~1json/examples/replaceImage"]}},"examples":[{},{},{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Категория успешно обработана"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CategoryUpdateResponse","exampleIds":["paths/~1api~1category~1{categoryId}/patch/responses/200/content/application~1json/examples/changed"]}},"schemaId":"components/schemas/CategoryUpdateResponse","exampleIds":["paths/~1api~1category~1{categoryId}/patch/responses/200/content/application~1json/examples/changed"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело запроса или идентификатор категории"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category~1{categoryId}/patch/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1category~1{categoryId}/patch/responses/400/content/application~1json/examples/self_parent","paths/~1api~1category~1{categoryId}/patch/responses/400/content/application~1json/examples/parent_cycle"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category~1{categoryId}/patch/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1category~1{categoryId}/patch/responses/400/content/application~1json/examples/self_parent","paths/~1api~1category~1{categoryId}/patch/responses/400/content/application~1json/examples/parent_cycle"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category~1{categoryId}/patch/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category~1{categoryId}/patch/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category~1{categoryId}/patch/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category~1{categoryId}/patch/responses/403/content/application~1json/examples/forbidden"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Категория или родительская категория не найдены"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category~1{categoryId}/patch/responses/404/content/application~1json/examples/category_not_found","paths/~1api~1category~1{categoryId}/patch/responses/404/content/application~1json/examples/parent_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category~1{categoryId}/patch/responses/404/content/application~1json/examples/category_not_found","paths/~1api~1category~1{categoryId}/patch/responses/404/content/application~1json/examples/parent_not_found"]}],"pointer":"/paths/~1api~1category~1{categoryId}/patch/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/CategoryUpdateResponse","exampleIds":["paths/~1api~1category~1{categoryId}/patch/responses/200/content/application~1json/examples/changed"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CategoryUpdateResponse","exampleIds":["paths/~1api~1category~1{categoryId}/patch/responses/200/content/application~1json/examples/changed"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category~1{categoryId}/patch/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1category~1{categoryId}/patch/responses/400/content/application~1json/examples/self_parent","paths/~1api~1category~1{categoryId}/patch/responses/400/content/application~1json/examples/parent_cycle"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category~1{categoryId}/patch/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1category~1{categoryId}/patch/responses/400/content/application~1json/examples/self_parent","paths/~1api~1category~1{categoryId}/patch/responses/400/content/application~1json/examples/parent_cycle"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category~1{categoryId}/patch/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category~1{categoryId}/patch/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category~1{categoryId}/patch/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category~1{categoryId}/patch/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category~1{categoryId}/patch/responses/404/content/application~1json/examples/category_not_found","paths/~1api~1category~1{categoryId}/patch/responses/404/content/application~1json/examples/parent_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category~1{categoryId}/patch/responses/404/content/application~1json/examples/category_not_found","paths/~1api~1category~1{categoryId}/patch/responses/404/content/application~1json/examples/parent_not_found"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/kategorii/paths/~1api~1category~1{categoryid}/patch"}],"panels":[]}]},"httpPath":"/api/category/{categoryId}"},{"label":"Удалить категорию","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/kategorii/paths/~1api~1category~1{categoryid}/delete","routeSlug":"/openapi/kategorii/paths/~1api~1category~1{categoryid}/delete","metadata":{"seo":{"title":"Удалить категорию","description":"Удаляет категорию по идентификатору."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Удалить категорию","isWebhook":false,"pointer":"/paths/~1api~1category~1{categoryId}/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Удалить категорию","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Удаляет категорию по идентификатору."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Ограничения:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"категория не должна иметь дочерних категорий"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"категория не должна использоваться в "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"service"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"только "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ADMIN"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"categoryId","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор категории"},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1category~1{categoryId}/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/api/category/{categoryId}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"categoryId","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403","404","409"],"pointer":"/api/category/{categoryId}","href":"kategorii/paths/~1api~1category~1{categoryid}/delete","summary":"Удалить категорию","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Категория успешно удалена"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CategoryDeleteResponse","exampleIds":["paths/~1api~1category~1{categoryId}/delete/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/CategoryDeleteResponse","exampleIds":["paths/~1api~1category~1{categoryId}/delete/responses/200/content/application~1json/examples/ok"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректный идентификатор категории"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category~1{categoryId}/delete/responses/400/content/application~1json/examples/invalid_id"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category~1{categoryId}/delete/responses/400/content/application~1json/examples/invalid_id"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category~1{categoryId}/delete/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category~1{categoryId}/delete/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category~1{categoryId}/delete/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category~1{categoryId}/delete/responses/403/content/application~1json/examples/forbidden"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Категория не найдена"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category~1{categoryId}/delete/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category~1{categoryId}/delete/responses/404/content/application~1json/examples/not_found"]},{"code":"409","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Категорию нельзя удалить из-за зависимостей"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category~1{categoryId}/delete/responses/409/content/application~1json/examples/has_children","paths/~1api~1category~1{categoryId}/delete/responses/409/content/application~1json/examples/used_by_services"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category~1{categoryId}/delete/responses/409/content/application~1json/examples/has_children","paths/~1api~1category~1{categoryId}/delete/responses/409/content/application~1json/examples/used_by_services"]}],"pointer":"/paths/~1api~1category~1{categoryId}/delete/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/CategoryDeleteResponse","exampleIds":["paths/~1api~1category~1{categoryId}/delete/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CategoryDeleteResponse","exampleIds":["paths/~1api~1category~1{categoryId}/delete/responses/200/content/application~1json/examples/ok"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category~1{categoryId}/delete/responses/400/content/application~1json/examples/invalid_id"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category~1{categoryId}/delete/responses/400/content/application~1json/examples/invalid_id"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category~1{categoryId}/delete/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category~1{categoryId}/delete/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category~1{categoryId}/delete/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category~1{categoryId}/delete/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category~1{categoryId}/delete/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category~1{categoryId}/delete/responses/404/content/application~1json/examples/not_found"]}}},{"code":"409","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category~1{categoryId}/delete/responses/409/content/application~1json/examples/has_children","paths/~1api~1category~1{categoryId}/delete/responses/409/content/application~1json/examples/used_by_services"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category~1{categoryId}/delete/responses/409/content/application~1json/examples/has_children","paths/~1api~1category~1{categoryId}/delete/responses/409/content/application~1json/examples/used_by_services"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/kategorii/paths/~1api~1category~1{categoryid}/delete"}],"panels":[]}]},"httpPath":"/api/category/{categoryId}"},{"label":"Получить onboarding категории","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/kategorii/paths/~1api~1category~1onboarding/get","routeSlug":"/openapi/kategorii/paths/~1api~1category~1onboarding/get","metadata":{"seo":{"title":"Получить onboarding категории","description":"Возвращает список категорий, у которых showInOnboarding = true."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить onboarding категории","isWebhook":false,"pointer":"/paths/~1api~1category~1onboarding/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить onboarding категории","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает список категорий, у которых "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"showInOnboarding = true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Если к категории привязано изображение, в ответе будет поле "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"image_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/category/onboarding","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","401"],"pointer":"/api/category/onboarding","href":"kategorii/paths/~1api~1category~1onboarding/get","summary":"Получить onboarding категории","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Onboarding категории успешно получены"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CategoryListResponse","exampleIds":["paths/~1api~1category~1onboarding/get/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/CategoryListResponse","exampleIds":["paths/~1api~1category~1onboarding/get/responses/200/content/application~1json/examples/ok"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category~1onboarding/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category~1onboarding/get/responses/401/content/application~1json/examples/unauthorized"]}],"pointer":"/paths/~1api~1category~1onboarding/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/CategoryListResponse","exampleIds":["paths/~1api~1category~1onboarding/get/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CategoryListResponse","exampleIds":["paths/~1api~1category~1onboarding/get/responses/200/content/application~1json/examples/ok"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category~1onboarding/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category~1onboarding/get/responses/401/content/application~1json/examples/unauthorized"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/kategorii/paths/~1api~1category~1onboarding/get"}],"panels":[]}]},"httpPath":"/api/category/onboarding"},{"label":"Получить дочерние категории","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/kategorii/paths/~1api~1category~1{categoryid}~1children/get","routeSlug":"/openapi/kategorii/paths/~1api~1category~1{categoryid}~1children/get","metadata":{"seo":{"title":"Получить дочерние категории","description":"Возвращает непосредственных дочерних категорий для указанной категории."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить дочерние категории","isWebhook":false,"pointer":"/paths/~1api~1category~1{categoryId}~1children/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить дочерние категории","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает непосредственных дочерних категорий для указанной категории."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"categoryId","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор родительской категории"},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1category~1{categoryId}~1children/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/category/{categoryId}/children","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"categoryId","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","404"],"pointer":"/api/category/{categoryId}/children","href":"kategorii/paths/~1api~1category~1{categoryid}~1children/get","summary":"Получить дочерние категории","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Дочерние категории успешно получены"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CategoryListResponse","exampleIds":["paths/~1api~1category~1{categoryId}~1children/get/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/CategoryListResponse","exampleIds":["paths/~1api~1category~1{categoryId}~1children/get/responses/200/content/application~1json/examples/ok"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректный идентификатор категории"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category~1{categoryId}~1children/get/responses/400/content/application~1json/examples/invalid_id"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category~1{categoryId}~1children/get/responses/400/content/application~1json/examples/invalid_id"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category~1{categoryId}~1children/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category~1{categoryId}~1children/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Категория не найдена"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category~1{categoryId}~1children/get/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category~1{categoryId}~1children/get/responses/404/content/application~1json/examples/not_found"]}],"pointer":"/paths/~1api~1category~1{categoryId}~1children/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/CategoryListResponse","exampleIds":["paths/~1api~1category~1{categoryId}~1children/get/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CategoryListResponse","exampleIds":["paths/~1api~1category~1{categoryId}~1children/get/responses/200/content/application~1json/examples/ok"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category~1{categoryId}~1children/get/responses/400/content/application~1json/examples/invalid_id"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category~1{categoryId}~1children/get/responses/400/content/application~1json/examples/invalid_id"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category~1{categoryId}~1children/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category~1{categoryId}~1children/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category~1{categoryId}~1children/get/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1category~1{categoryId}~1children/get/responses/404/content/application~1json/examples/not_found"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/kategorii/paths/~1api~1category~1{categoryid}~1children/get"}],"panels":[]}]},"httpPath":"/api/category/{categoryId}/children"}],"content":{"contentType":"group","meta":{"name":"Категории"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Категории","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Получение и управление категориями услуг."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/api/category","summary":"Получить корневые категории","prefix":{"name":"get","color":"get"},"badges":[],"link":"/kategorii/paths/~1api~1category/get","deprecated":false},{"title":"/api/category","summary":"Создать категорию","prefix":{"name":"post","color":"post"},"badges":[],"link":"/kategorii/paths/~1api~1category/post","deprecated":false},{"title":"/api/category/{categoryId}","summary":"Получить категорию по id","prefix":{"name":"get","color":"get"},"badges":[],"link":"/kategorii/paths/~1api~1category~1{categoryid}/get","deprecated":false},{"title":"/api/category/{categoryId}","summary":"Обновить категорию","prefix":{"name":"patch","color":"patch"},"badges":[],"link":"/kategorii/paths/~1api~1category~1{categoryid}/patch","deprecated":false},{"title":"/api/category/{categoryId}","summary":"Удалить категорию","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/kategorii/paths/~1api~1category~1{categoryid}/delete","deprecated":false},{"title":"/api/category/onboarding","summary":"Получить onboarding категории","prefix":{"name":"get","color":"get"},"badges":[],"link":"/kategorii/paths/~1api~1category~1onboarding/get","deprecated":false},{"title":"/api/category/{categoryId}/children","summary":"Получить дочерние категории","prefix":{"name":"get","color":"get"},"badges":[],"link":"/kategorii/paths/~1api~1category~1{categoryid}~1children/get","deprecated":false}]}]}]}]}},{"type":"group","label":"Запись","link":"/openapi/zapis","routeSlug":"/openapi/zapis","items":[{"label":"Создать запись","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/zapis/paths/~1api~1record~1/post","routeSlug":"/openapi/zapis/paths/~1api~1record~1/post","metadata":{"seo":{"title":"Создать запись","description":"Создаёт запись на услугу."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Создать запись","isWebhook":false,"pointer":"/paths/~1api~1record~1/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Создать запись","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Создаёт запись на услугу."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Перед сохранением сервер проверяет:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"корректность тела запроса"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"что текущий пользователь имеет роль "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"USER"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"что услуга существует"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"что переданный интервал точно совпадает хотя бы с одним доступным слотом"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"что "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"start"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" раньше "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"end"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"что длительность интервала не превышает 24 часа"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/RecordBookServiceRequest","exampleIds":["paths/~1api~1record~1/post/requestBody/content/application~1json/examples/master_service","paths/~1api~1record~1/post/requestBody/content/application~1json/examples/salon_service"]}},"schemaId":"components/schemas/RecordBookServiceRequest","exampleIds":["paths/~1api~1record~1/post/requestBody/content/application~1json/examples/master_service","paths/~1api~1record~1/post/requestBody/content/application~1json/examples/salon_service"],"pointer":"/paths/~1api~1record~1/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/record/","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/RecordBookServiceRequest","exampleIds":["paths/~1api~1record~1/post/requestBody/content/application~1json/examples/master_service","paths/~1api~1record~1/post/requestBody/content/application~1json/examples/salon_service"]}},"responseCodes":["200","400","401","403","404","409"],"pointer":"/api/record/","href":"zapis/paths/~1api~1record~1/post","summary":"Создать запись","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/RecordBookServiceRequest","exampleIds":["paths/~1api~1record~1/post/requestBody/content/application~1json/examples/master_service","paths/~1api~1record~1/post/requestBody/content/application~1json/examples/salon_service"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/RecordBookServiceRequest","exampleIds":["paths/~1api~1record~1/post/requestBody/content/application~1json/examples/master_service","paths/~1api~1record~1/post/requestBody/content/application~1json/examples/salon_service"]}},"examples":[{},{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запись успешно создана"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1record~1/post/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1record~1/post/responses/200/content/application~1json/examples/ok"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1record~1/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1record~1/post/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1record~1/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1record~1/post/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1/post/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1/post/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1/post/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1/post/responses/403/content/application~1json/examples/forbidden"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрошенный ресурс не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1/post/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1/post/responses/404/content/application~1json/examples/not_found"]},{"code":"409","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Конфликт бизнес-правил при создании бронирования"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1/post/responses/409/content/application~1json/examples/slot_unavailable","paths/~1api~1record~1/post/responses/409/content/application~1json/examples/booking_too_late"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1/post/responses/409/content/application~1json/examples/slot_unavailable","paths/~1api~1record~1/post/responses/409/content/application~1json/examples/booking_too_late"]}],"pointer":"/paths/~1api~1record~1/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1record~1/post/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1record~1/post/responses/200/content/application~1json/examples/ok"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1record~1/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1record~1/post/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1record~1/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1record~1/post/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1/post/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1/post/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1/post/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1/post/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1/post/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1/post/responses/404/content/application~1json/examples/not_found"]}}},{"code":"409","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1/post/responses/409/content/application~1json/examples/slot_unavailable","paths/~1api~1record~1/post/responses/409/content/application~1json/examples/booking_too_late"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1/post/responses/409/content/application~1json/examples/slot_unavailable","paths/~1api~1record~1/post/responses/409/content/application~1json/examples/booking_too_late"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/zapis/paths/~1api~1record~1/post"}],"panels":[]}]},"httpPath":"/api/record/"},{"label":"Рассчитать checkout перед созданием записи","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/zapis/paths/~1api~1record~1checkout/post","routeSlug":"/openapi/zapis/paths/~1api~1record~1checkout/post","metadata":{"seo":{"title":"Рассчитать checkout перед созданием записи","description":"Возвращает упорядоченную историю изменения цены для экрана подтверждения записи.Первый элемент всегда содержит базовую цену. Если действует акция, следующим элементомвозвращается цена после акции. После этого к уже сниженной цене применяется не более однойреферальной скидки с приоритетом:"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Рассчитать checkout перед созданием записи","isWebhook":false,"pointer":"/paths/~1api~1record~1checkout/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Рассчитать checkout перед созданием записи","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает упорядоченную историю изменения цены для экрана подтверждения записи."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Первый элемент всегда содержит базовую цену. Если действует акция, следующим элементом"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"возвращается цена после акции. После этого к уже сниженной цене применяется не более одной"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"реферальной скидки с приоритетом:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":true,"marker":"."},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"постоянная скидка у приглашённого бизнеса;"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"максимальный доступный реферальный купон;"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"постоянная скидка текущего реферального уровня."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Поле "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" предназначено для логики интерфейса, а "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"description"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — для отображения"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"причины изменения цены. Расчёт не расходует купон и не создаёт запись."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/RecordBookServiceRequest","exampleIds":["paths/~1api~1record~1checkout/post/requestBody/content/application~1json/example"]}},"schemaId":"components/schemas/RecordBookServiceRequest","exampleIds":["paths/~1api~1record~1checkout/post/requestBody/content/application~1json/example"],"pointer":"/paths/~1api~1record~1checkout/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/record/checkout","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/RecordBookServiceRequest","exampleIds":["paths/~1api~1record~1checkout/post/requestBody/content/application~1json/example"]}},"responseCodes":["200","400","401","403","404","409"],"pointer":"/api/record/checkout","href":"zapis/paths/~1api~1record~1checkout/post","summary":"Рассчитать checkout перед созданием записи","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/RecordBookServiceRequest","exampleIds":["paths/~1api~1record~1checkout/post/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/RecordBookServiceRequest","exampleIds":["paths/~1api~1record~1checkout/post/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Checkout успешно рассчитан"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CheckoutPriceResponse","exampleIds":["paths/~1api~1record~1checkout/post/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/CheckoutPriceResponse","exampleIds":["paths/~1api~1record~1checkout/post/responses/200/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1checkout/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1record~1checkout/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1record~1checkout/post/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1checkout/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1record~1checkout/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1record~1checkout/post/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1checkout/post/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1checkout/post/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1checkout/post/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1checkout/post/responses/403/content/application~1json/examples/forbidden"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрошенный ресурс не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1checkout/post/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1checkout/post/responses/404/content/application~1json/examples/not_found"]},{"code":"409","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрос конфликтует с текущим состоянием ресурса"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1checkout/post/responses/409/content/application~1json/examples/conflict"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1checkout/post/responses/409/content/application~1json/examples/conflict"]}],"pointer":"/paths/~1api~1record~1checkout/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/CheckoutPriceResponse","exampleIds":["paths/~1api~1record~1checkout/post/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CheckoutPriceResponse","exampleIds":["paths/~1api~1record~1checkout/post/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1checkout/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1record~1checkout/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1record~1checkout/post/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1checkout/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1record~1checkout/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1record~1checkout/post/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1checkout/post/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1checkout/post/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1checkout/post/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1checkout/post/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1checkout/post/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1checkout/post/responses/404/content/application~1json/examples/not_found"]}}},{"code":"409","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1checkout/post/responses/409/content/application~1json/examples/conflict"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1checkout/post/responses/409/content/application~1json/examples/conflict"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/zapis/paths/~1api~1record~1checkout/post"}],"panels":[]}]},"httpPath":"/api/record/checkout"},{"label":"Получить запись по id","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/zapis/paths/~1api~1record~1{id}/get","routeSlug":"/openapi/zapis/paths/~1api~1record~1{id}/get","metadata":{"seo":{"title":"Получить запись по id","description":"Возвращает запись по идентификатору, если текущий пользователь имеет к ней доступ."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить запись по id","isWebhook":false,"pointer":"/paths/~1api~1record~1{id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить запись по id","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает запись по идентификатору, если текущий пользователь имеет к ней доступ."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"только роль "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"USER"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор записи."},"children":[]}]}]}],"required":true,"example":101}],"pointer":"/paths/~1api~1record~1{id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/record/{id}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"example":101,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403","404"],"pointer":"/api/record/{id}","href":"zapis/paths/~1api~1record~1{id}/get","summary":"Получить запись по id","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запись успешно получена"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/RecordGetRecordResponse","exampleIds":["paths/~1api~1record~1{id}/get/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/RecordGetRecordResponse","exampleIds":["paths/~1api~1record~1{id}/get/responses/200/content/application~1json/examples/ok"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1{id}/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1record~1{id}/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1record~1{id}/get/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1{id}/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1record~1{id}/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1record~1{id}/get/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1{id}/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1{id}/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1{id}/get/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1{id}/get/responses/403/content/application~1json/examples/forbidden"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрошенный ресурс не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1{id}/get/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1{id}/get/responses/404/content/application~1json/examples/not_found"]}],"pointer":"/paths/~1api~1record~1{id}/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/RecordGetRecordResponse","exampleIds":["paths/~1api~1record~1{id}/get/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/RecordGetRecordResponse","exampleIds":["paths/~1api~1record~1{id}/get/responses/200/content/application~1json/examples/ok"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1{id}/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1record~1{id}/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1record~1{id}/get/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1{id}/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1record~1{id}/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1record~1{id}/get/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1{id}/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1{id}/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1{id}/get/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1{id}/get/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1{id}/get/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1{id}/get/responses/404/content/application~1json/examples/not_found"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/zapis/paths/~1api~1record~1{id}/get"}],"panels":[]}]},"httpPath":"/api/record/{id}"},{"label":"Изменить общий комментарий мастера/салона","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/zapis/paths/~1api~1record~1{id}/patch","routeSlug":"/openapi/zapis/paths/~1api~1record~1{id}/patch","metadata":{"seo":{"title":"Изменить общий комментарий мастера/салона","description":"Устанавливает или изменяет общий комментарий к активной записи.Пустая строка очищает комментарий."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Изменить общий комментарий мастера/салона","isWebhook":false,"pointer":"/paths/~1api~1record~1{id}/patch","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Изменить общий комментарий мастера/салона","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Устанавливает или изменяет общий комментарий к активной записи."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Пустая строка очищает комментарий."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ имеют назначенный мастер, владелец салона и администратор салона"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"с permission "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"RECORD_VIEW"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Комментарий клиента этим endpoint изменить нельзя."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Изменение доступно только для записи со статусом "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"BOOKED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор записи."},"children":[]}]}]}],"required":true,"example":101}],"pointer":"/paths/~1api~1record~1{id}/patch/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/MasterCommentRequest","exampleIds":["paths/~1api~1record~1{id}/patch/requestBody/content/application~1json/example"]}},"schemaId":"components/schemas/MasterCommentRequest","exampleIds":["paths/~1api~1record~1{id}/patch/requestBody/content/application~1json/example"],"pointer":"/paths/~1api~1record~1{id}/patch/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PATCH","path":"/api/record/{id}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"example":101,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/MasterCommentRequest","exampleIds":["paths/~1api~1record~1{id}/patch/requestBody/content/application~1json/example"]}},"responseCodes":["200","400","401","403","404","409"],"pointer":"/api/record/{id}","href":"zapis/paths/~1api~1record~1{id}/patch","summary":"Изменить общий комментарий мастера/салона","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/MasterCommentRequest","exampleIds":["paths/~1api~1record~1{id}/patch/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/MasterCommentRequest","exampleIds":["paths/~1api~1record~1{id}/patch/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Комментарий успешно изменён"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SuccessNullResponse"}},"schemaId":"components/schemas/SuccessNullResponse"},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1{id}/patch/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1record~1{id}/patch/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1record~1{id}/patch/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1{id}/patch/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1record~1{id}/patch/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1record~1{id}/patch/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1{id}/patch/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1{id}/patch/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1{id}/patch/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1{id}/patch/responses/403/content/application~1json/examples/forbidden"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрошенный ресурс не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1{id}/patch/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1{id}/patch/responses/404/content/application~1json/examples/not_found"]},{"code":"409","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запись неактивна или изменение комментария невозможно"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"}],"pointer":"/paths/~1api~1record~1{id}/patch/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/SuccessNullResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SuccessNullResponse"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1{id}/patch/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1record~1{id}/patch/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1record~1{id}/patch/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1{id}/patch/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1record~1{id}/patch/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1record~1{id}/patch/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1{id}/patch/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1{id}/patch/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1{id}/patch/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1{id}/patch/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1{id}/patch/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1{id}/patch/responses/404/content/application~1json/examples/not_found"]}}},{"code":"409","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/zapis/paths/~1api~1record~1{id}/patch"}],"panels":[]}]},"httpPath":"/api/record/{id}"},{"label":"Отменить запись","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/zapis/paths/~1api~1record~1{id}~1cancel/post","routeSlug":"/openapi/zapis/paths/~1api~1record~1{id}~1cancel/post","metadata":{"seo":{"title":"Отменить запись","description":"Отменяет существующую запись без физического удаления.Сервер переводит запись в статус CANCELED."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Отменить запись","isWebhook":false,"pointer":"/paths/~1api~1record~1{id}~1cancel/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Отменить запись","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Отменяет существующую запись без физического удаления."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Сервер переводит запись в статус "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CANCELED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Перед отменой сервер проверяет:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"корректность тела запроса"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"что "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" является положительным числом"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"что запись с таким "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" существует"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"что текущий пользователь имеет доступ к этой записи"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"для отмены пользователем размер возврата определяется временем до начала записи:"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"при отмене не менее чем за 12 часов возвращается 100%, при отмене менее чем за 12 часов возвращается 50%"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Правила доступа:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"роль "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"USER"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" может отменить только свою запись"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"роль "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"MASTER"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" может отменить только запись, принадлежащую этому мастеру"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"если запись отменяет мастер, клиенту возвращается 100% оплаченной суммы;"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"возврат публикуется как "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CancelRecordRefundEvent"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"при отмене клиентом запись можно отменить и менее чем за 12 часов до начала;"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"в этом случае удерживается 50% оплаченной суммы"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор записи."},"children":[]}]}]}],"required":true,"example":101}],"pointer":"/paths/~1api~1record~1{id}~1cancel/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/RecordCancelBody","exampleIds":["paths/~1api~1record~1{id}~1cancel/post/requestBody/content/application~1json/examples/with_comment","paths/~1api~1record~1{id}~1cancel/post/requestBody/content/application~1json/examples/released_slot_action","paths/~1api~1record~1{id}~1cancel/post/requestBody/content/application~1json/examples/empty_body"]}},"schemaId":"components/schemas/RecordCancelBody","exampleIds":["paths/~1api~1record~1{id}~1cancel/post/requestBody/content/application~1json/examples/with_comment","paths/~1api~1record~1{id}~1cancel/post/requestBody/content/application~1json/examples/released_slot_action","paths/~1api~1record~1{id}~1cancel/post/requestBody/content/application~1json/examples/empty_body"],"pointer":"/paths/~1api~1record~1{id}~1cancel/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/record/{id}/cancel","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"example":101,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/RecordCancelBody","exampleIds":["paths/~1api~1record~1{id}~1cancel/post/requestBody/content/application~1json/examples/with_comment","paths/~1api~1record~1{id}~1cancel/post/requestBody/content/application~1json/examples/released_slot_action","paths/~1api~1record~1{id}~1cancel/post/requestBody/content/application~1json/examples/empty_body"]}},"responseCodes":["200","400","401","403","404","409"],"pointer":"/api/record/{id}/cancel","href":"zapis/paths/~1api~1record~1{id}~1cancel/post","summary":"Отменить запись","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/RecordCancelBody","exampleIds":["paths/~1api~1record~1{id}~1cancel/post/requestBody/content/application~1json/examples/with_comment","paths/~1api~1record~1{id}~1cancel/post/requestBody/content/application~1json/examples/released_slot_action","paths/~1api~1record~1{id}~1cancel/post/requestBody/content/application~1json/examples/empty_body"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/RecordCancelBody","exampleIds":["paths/~1api~1record~1{id}~1cancel/post/requestBody/content/application~1json/examples/with_comment","paths/~1api~1record~1{id}~1cancel/post/requestBody/content/application~1json/examples/released_slot_action","paths/~1api~1record~1{id}~1cancel/post/requestBody/content/application~1json/examples/empty_body"]}},"examples":[{},{},{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запись успешно отменена"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1record~1{id}~1cancel/post/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1record~1{id}~1cancel/post/responses/200/content/application~1json/examples/ok"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1{id}~1cancel/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1record~1{id}~1cancel/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1record~1{id}~1cancel/post/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1{id}~1cancel/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1record~1{id}~1cancel/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1record~1{id}~1cancel/post/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1{id}~1cancel/post/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1{id}~1cancel/post/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1{id}~1cancel/post/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1{id}~1cancel/post/responses/403/content/application~1json/examples/forbidden"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрошенный ресурс не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1{id}~1cancel/post/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1{id}~1cancel/post/responses/404/content/application~1json/examples/not_found"]},{"code":"409","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Конфликт бизнес-правил при отмене записи или конкурентное изменение записи"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1{id}~1cancel/post/responses/409/content/application~1json/examples/wrong_status","paths/~1api~1record~1{id}~1cancel/post/responses/409/content/application~1json/examples/cancel_too_late","paths/~1api~1record~1{id}~1cancel/post/responses/409/content/application~1json/examples/object_modified"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1{id}~1cancel/post/responses/409/content/application~1json/examples/wrong_status","paths/~1api~1record~1{id}~1cancel/post/responses/409/content/application~1json/examples/cancel_too_late","paths/~1api~1record~1{id}~1cancel/post/responses/409/content/application~1json/examples/object_modified"]}],"pointer":"/paths/~1api~1record~1{id}~1cancel/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1record~1{id}~1cancel/post/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1record~1{id}~1cancel/post/responses/200/content/application~1json/examples/ok"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1{id}~1cancel/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1record~1{id}~1cancel/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1record~1{id}~1cancel/post/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1{id}~1cancel/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1record~1{id}~1cancel/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1record~1{id}~1cancel/post/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1{id}~1cancel/post/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1{id}~1cancel/post/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1{id}~1cancel/post/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1{id}~1cancel/post/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1{id}~1cancel/post/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1{id}~1cancel/post/responses/404/content/application~1json/examples/not_found"]}}},{"code":"409","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1{id}~1cancel/post/responses/409/content/application~1json/examples/wrong_status","paths/~1api~1record~1{id}~1cancel/post/responses/409/content/application~1json/examples/cancel_too_late","paths/~1api~1record~1{id}~1cancel/post/responses/409/content/application~1json/examples/object_modified"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1{id}~1cancel/post/responses/409/content/application~1json/examples/wrong_status","paths/~1api~1record~1{id}~1cancel/post/responses/409/content/application~1json/examples/cancel_too_late","paths/~1api~1record~1{id}~1cancel/post/responses/409/content/application~1json/examples/object_modified"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/zapis/paths/~1api~1record~1{id}~1cancel/post"}],"panels":[]}]},"httpPath":"/api/record/{id}/cancel"},{"label":"Создать запрос на перенос записи","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/zapis/paths/~1api~1record~1reschedule/post","routeSlug":"/openapi/zapis/paths/~1api~1record~1reschedule/post","metadata":{"seo":{"title":"Создать запрос на перенос записи","description":"Создаёт запрос на перенос существующей записи."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Создать запрос на перенос записи","isWebhook":false,"pointer":"/paths/~1api~1record~1reschedule/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Создать запрос на перенос записи","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Создаёт запрос на перенос существующей записи."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Перед созданием сервер проверяет:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"корректность тела запроса"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"что запись с таким "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"record_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" существует"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"что текущий пользователь является исполнителем записи: индивидуальным мастером, владельцем салона или админом салона с правом "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"RECORD_RESCHEDULE"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"что запись находится в статусе "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"BOOKED"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"что до начала записи осталось не менее 1 часа"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"что для пары "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"record_id + sender_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" еще не существует запроса на перенос; для салона "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"sender_id = salon_id"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"После создания в Messenger отправляется request-сообщение:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"action = RESCHEDULE"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"source_request_id = reschedule_record_request.id"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"payload соответствует "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"RescheduleRequestPayload"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/RecordRescheduleRequestBody","exampleIds":["paths/~1api~1record~1reschedule/post/requestBody/content/application~1json/examples/example"]}},"schemaId":"components/schemas/RecordRescheduleRequestBody","exampleIds":["paths/~1api~1record~1reschedule/post/requestBody/content/application~1json/examples/example"],"pointer":"/paths/~1api~1record~1reschedule/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/record/reschedule","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/RecordRescheduleRequestBody","exampleIds":["paths/~1api~1record~1reschedule/post/requestBody/content/application~1json/examples/example"]}},"responseCodes":["200","400","401","403","404","409"],"pointer":"/api/record/reschedule","href":"zapis/paths/~1api~1record~1reschedule/post","summary":"Создать запрос на перенос записи","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/RecordRescheduleRequestBody","exampleIds":["paths/~1api~1record~1reschedule/post/requestBody/content/application~1json/examples/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/RecordRescheduleRequestBody","exampleIds":["paths/~1api~1record~1reschedule/post/requestBody/content/application~1json/examples/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрос на перенос успешно создан"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1record~1reschedule/post/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1record~1reschedule/post/responses/200/content/application~1json/examples/ok"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1reschedule/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1record~1reschedule/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1record~1reschedule/post/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1reschedule/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1record~1reschedule/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1record~1reschedule/post/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1reschedule/post/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1reschedule/post/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1reschedule/post/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1reschedule/post/responses/403/content/application~1json/examples/forbidden"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрошенный ресурс не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1reschedule/post/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1reschedule/post/responses/404/content/application~1json/examples/not_found"]},{"code":"409","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Конфликт бизнес-правил при создании запроса на перенос"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1reschedule/post/responses/409/content/application~1json/examples/wrong_status","paths/~1api~1record~1reschedule/post/responses/409/content/application~1json/examples/request_exists","paths/~1api~1record~1reschedule/post/responses/409/content/application~1json/examples/reschedule_too_late"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1reschedule/post/responses/409/content/application~1json/examples/wrong_status","paths/~1api~1record~1reschedule/post/responses/409/content/application~1json/examples/request_exists","paths/~1api~1record~1reschedule/post/responses/409/content/application~1json/examples/reschedule_too_late"]}],"pointer":"/paths/~1api~1record~1reschedule/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1record~1reschedule/post/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1record~1reschedule/post/responses/200/content/application~1json/examples/ok"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1reschedule/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1record~1reschedule/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1record~1reschedule/post/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1reschedule/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1record~1reschedule/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1record~1reschedule/post/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1reschedule/post/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1reschedule/post/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1reschedule/post/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1reschedule/post/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1reschedule/post/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1reschedule/post/responses/404/content/application~1json/examples/not_found"]}}},{"code":"409","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1reschedule/post/responses/409/content/application~1json/examples/wrong_status","paths/~1api~1record~1reschedule/post/responses/409/content/application~1json/examples/request_exists","paths/~1api~1record~1reschedule/post/responses/409/content/application~1json/examples/reschedule_too_late"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1reschedule/post/responses/409/content/application~1json/examples/wrong_status","paths/~1api~1record~1reschedule/post/responses/409/content/application~1json/examples/request_exists","paths/~1api~1record~1reschedule/post/responses/409/content/application~1json/examples/reschedule_too_late"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/zapis/paths/~1api~1record~1reschedule/post"}],"panels":[]}]},"httpPath":"/api/record/reschedule"},{"label":"Получить запросы на перенос записи по дате","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/zapis/paths/~1api~1record~1reschedule~1{date}/get","routeSlug":"/openapi/zapis/paths/~1api~1record~1reschedule~1{date}/get","metadata":{"seo":{"title":"Получить запросы на перенос записи по дате","description":"Возвращает список запросов на перенос записи на указанную дату."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить запросы на перенос записи по дате","isWebhook":false,"pointer":"/paths/~1api~1record~1reschedule~1{date}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить запросы на перенос записи по дате","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает список запросов на перенос записи на указанную дату."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"В выборку попадают запросы, связанные с записями, стартующими в эту дату"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"в часовом поясе сервиса."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"date"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" не должна быть в прошлом"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"date","in":"path","schemaId":"schema_99","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Дата записей, для которых нужно получить запросы на перенос."},"children":[]}]}]}],"required":true,"example":"2026-04-21"}],"pointer":"/paths/~1api~1record~1reschedule~1{date}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/record/reschedule/{date}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"date","in":"path","required":true,"example":"2026-04-21","schemaId":"schema_99"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401"],"pointer":"/api/record/reschedule/{date}","href":"zapis/paths/~1api~1record~1reschedule~1{date}/get","summary":"Получить запросы на перенос записи по дате","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Список запросов на перенос успешно получен"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/RecordRescheduleRequestsResponse","exampleIds":["paths/~1api~1record~1reschedule~1{date}/get/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/RecordRescheduleRequestsResponse","exampleIds":["paths/~1api~1record~1reschedule~1{date}/get/responses/200/content/application~1json/examples/ok"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректная дата запроса"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1reschedule~1{date}/get/responses/400/content/application~1json/examples/past_date"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1reschedule~1{date}/get/responses/400/content/application~1json/examples/past_date"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1reschedule~1{date}/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1reschedule~1{date}/get/responses/401/content/application~1json/examples/unauthorized"]}],"pointer":"/paths/~1api~1record~1reschedule~1{date}/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/RecordRescheduleRequestsResponse","exampleIds":["paths/~1api~1record~1reschedule~1{date}/get/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/RecordRescheduleRequestsResponse","exampleIds":["paths/~1api~1record~1reschedule~1{date}/get/responses/200/content/application~1json/examples/ok"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1reschedule~1{date}/get/responses/400/content/application~1json/examples/past_date"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1reschedule~1{date}/get/responses/400/content/application~1json/examples/past_date"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1reschedule~1{date}/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1reschedule~1{date}/get/responses/401/content/application~1json/examples/unauthorized"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/zapis/paths/~1api~1record~1reschedule~1{date}/get"}],"panels":[]}]},"httpPath":"/api/record/reschedule/{date}"},{"label":"Отклонить запрос на перенос записи","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/zapis/paths/~1api~1record~1reschedule~1reject~1{id}/post","routeSlug":"/openapi/zapis/paths/~1api~1record~1reschedule~1reject~1{id}/post","metadata":{"seo":{"title":"Отклонить запрос на перенос записи","description":"Отклоняет ранее созданный запрос на перенос записи."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Отклонить запрос на перенос записи","isWebhook":false,"pointer":"/paths/~1api~1record~1reschedule~1reject~1{id}/post","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Отклонить запрос на перенос записи","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Отклоняет ранее созданный запрос на перенос записи."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Перед отклонением сервер проверяет:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"корректность "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"что запрос существует"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"что его статус равен "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"WAITING_APPROVE"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"что текущий пользователь имеет право отклонить этот запрос"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"После reject Messenger обновляет статус request-сообщения и отправляет"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"service message "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"RESULT_RESCHEDULE_RECORD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор запроса на перенос записи."},"children":[]}]}]}],"required":true,"example":11}],"pointer":"/paths/~1api~1record~1reschedule~1reject~1{id}/post/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/record/reschedule/reject/{id}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"example":11,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403","404","409"],"pointer":"/api/record/reschedule/reject/{id}","href":"zapis/paths/~1api~1record~1reschedule~1reject~1{id}/post","summary":"Отклонить запрос на перенос записи","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрос на перенос успешно отклонен"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1record~1reschedule~1reject~1{id}/post/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1record~1reschedule~1reject~1{id}/post/responses/200/content/application~1json/examples/ok"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1reschedule~1reject~1{id}/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1record~1reschedule~1reject~1{id}/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1record~1reschedule~1reject~1{id}/post/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1reschedule~1reject~1{id}/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1record~1reschedule~1reject~1{id}/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1record~1reschedule~1reject~1{id}/post/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1reschedule~1reject~1{id}/post/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1reschedule~1reject~1{id}/post/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Недостаточно прав для отклонения запроса"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1reschedule~1reject~1{id}/post/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1reschedule~1reject~1{id}/post/responses/403/content/application~1json/examples/forbidden"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрошенный ресурс не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1reschedule~1reject~1{id}/post/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1reschedule~1reject~1{id}/post/responses/404/content/application~1json/examples/not_found"]},{"code":"409","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрос нельзя отклонить в текущем состоянии или он был изменён параллельным запросом"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1reschedule~1reject~1{id}/post/responses/409/content/application~1json/examples/wrong_status","paths/~1api~1record~1reschedule~1reject~1{id}/post/responses/409/content/application~1json/examples/object_modified"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1reschedule~1reject~1{id}/post/responses/409/content/application~1json/examples/wrong_status","paths/~1api~1record~1reschedule~1reject~1{id}/post/responses/409/content/application~1json/examples/object_modified"]}],"pointer":"/paths/~1api~1record~1reschedule~1reject~1{id}/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1record~1reschedule~1reject~1{id}/post/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1record~1reschedule~1reject~1{id}/post/responses/200/content/application~1json/examples/ok"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1reschedule~1reject~1{id}/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1record~1reschedule~1reject~1{id}/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1record~1reschedule~1reject~1{id}/post/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1reschedule~1reject~1{id}/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1record~1reschedule~1reject~1{id}/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1record~1reschedule~1reject~1{id}/post/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1reschedule~1reject~1{id}/post/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1reschedule~1reject~1{id}/post/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1reschedule~1reject~1{id}/post/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1reschedule~1reject~1{id}/post/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1reschedule~1reject~1{id}/post/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1reschedule~1reject~1{id}/post/responses/404/content/application~1json/examples/not_found"]}}},{"code":"409","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1reschedule~1reject~1{id}/post/responses/409/content/application~1json/examples/wrong_status","paths/~1api~1record~1reschedule~1reject~1{id}/post/responses/409/content/application~1json/examples/object_modified"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1reschedule~1reject~1{id}/post/responses/409/content/application~1json/examples/wrong_status","paths/~1api~1record~1reschedule~1reject~1{id}/post/responses/409/content/application~1json/examples/object_modified"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/zapis/paths/~1api~1record~1reschedule~1reject~1{id}/post"}],"panels":[]}]},"httpPath":"/api/record/reschedule/reject/{id}"},{"label":"Подтвердить запрос на перенос записи","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/zapis/paths/~1api~1record~1reschedule~1approve~1{id}/post","routeSlug":"/openapi/zapis/paths/~1api~1record~1reschedule~1approve~1{id}/post","metadata":{"seo":{"title":"Подтвердить запрос на перенос записи","description":"Подтверждает ранее созданный запрос на перенос записи и задает новое время записи."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Подтвердить запрос на перенос записи","isWebhook":false,"pointer":"/paths/~1api~1record~1reschedule~1approve~1{id}/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Подтвердить запрос на перенос записи","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Подтверждает ранее созданный запрос на перенос записи и задает новое время записи."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Перед подтверждением сервер проверяет:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"корректность "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"корректность "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"new_start"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"new_end"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"что запрос существует"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"что его статус равен "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"WAITING_APPROVE"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"что запрос еще не истек"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"что текущий пользователь имеет право подтвердить этот запрос"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"что исходная запись еще не началась ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"now < record.start"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"что "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"new_start"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" находится в будущем"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"что слот "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"new_start"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" -> "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"new_end"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" доступен для услуги записи"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Если исходная запись уже началась, подтверждение блокируется и статусы"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"запроса в service_record и Messenger остаются "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"WAITING_APPROVE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"После approve Messenger обновляет статус request-сообщения и отправляет"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"service message "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"RESULT_RESCHEDULE_RECORD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Если в запросе указан "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"percent_compensation"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и у записи есть "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"service_price"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":","},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"approve уменьшает "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"service_price"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" на сумму скидки и публикует"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"RescheduleCompensationRefundEvent"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" для будущей обработки возврата денег."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор запроса на перенос записи."},"children":[]}]}]}],"required":true,"example":11}],"pointer":"/paths/~1api~1record~1reschedule~1approve~1{id}/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/RecordApproveRescheduleRequestBody","exampleIds":["paths/~1api~1record~1reschedule~1approve~1{id}/post/requestBody/content/application~1json/examples/example"]}},"schemaId":"components/schemas/RecordApproveRescheduleRequestBody","exampleIds":["paths/~1api~1record~1reschedule~1approve~1{id}/post/requestBody/content/application~1json/examples/example"],"pointer":"/paths/~1api~1record~1reschedule~1approve~1{id}/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/record/reschedule/approve/{id}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"example":11,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/RecordApproveRescheduleRequestBody","exampleIds":["paths/~1api~1record~1reschedule~1approve~1{id}/post/requestBody/content/application~1json/examples/example"]}},"responseCodes":["200","400","401","403","404","409"],"pointer":"/api/record/reschedule/approve/{id}","href":"zapis/paths/~1api~1record~1reschedule~1approve~1{id}/post","summary":"Подтвердить запрос на перенос записи","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/RecordApproveRescheduleRequestBody","exampleIds":["paths/~1api~1record~1reschedule~1approve~1{id}/post/requestBody/content/application~1json/examples/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/RecordApproveRescheduleRequestBody","exampleIds":["paths/~1api~1record~1reschedule~1approve~1{id}/post/requestBody/content/application~1json/examples/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрос на перенос успешно подтвержден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/200/content/application~1json/examples/ok"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректный "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" или body запроса"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/400/content/application~1json/examples/invalid_request_id","paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/400/content/application~1json/examples/invalid_interval","paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/400/content/application~1json/examples/start_in_past"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/400/content/application~1json/examples/invalid_request_id","paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/400/content/application~1json/examples/invalid_interval","paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/400/content/application~1json/examples/start_in_past"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Недостаточно прав для подтверждения запроса"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/403/content/application~1json/examples/forbidden_role","paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/403/content/application~1json/examples/forbidden_request"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/403/content/application~1json/examples/forbidden_role","paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/403/content/application~1json/examples/forbidden_request"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрос не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/404/content/application~1json/examples/not_found"]},{"code":"409","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрос нельзя подтвердить в текущем состоянии или он был изменён параллельным запросом"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/409/content/application~1json/examples/wrong_status","paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/409/content/application~1json/examples/expired_request","paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/409/content/application~1json/examples/started_record","paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/409/content/application~1json/examples/slot_unavailable","paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/409/content/application~1json/examples/object_modified"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/409/content/application~1json/examples/wrong_status","paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/409/content/application~1json/examples/expired_request","paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/409/content/application~1json/examples/started_record","paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/409/content/application~1json/examples/slot_unavailable","paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/409/content/application~1json/examples/object_modified"]}],"pointer":"/paths/~1api~1record~1reschedule~1approve~1{id}/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/200/content/application~1json/examples/ok"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/400/content/application~1json/examples/invalid_request_id","paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/400/content/application~1json/examples/invalid_interval","paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/400/content/application~1json/examples/start_in_past"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/400/content/application~1json/examples/invalid_request_id","paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/400/content/application~1json/examples/invalid_interval","paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/400/content/application~1json/examples/start_in_past"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/403/content/application~1json/examples/forbidden_role","paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/403/content/application~1json/examples/forbidden_request"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/403/content/application~1json/examples/forbidden_role","paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/403/content/application~1json/examples/forbidden_request"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/404/content/application~1json/examples/not_found"]}}},{"code":"409","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/409/content/application~1json/examples/wrong_status","paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/409/content/application~1json/examples/expired_request","paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/409/content/application~1json/examples/started_record","paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/409/content/application~1json/examples/slot_unavailable","paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/409/content/application~1json/examples/object_modified"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/409/content/application~1json/examples/wrong_status","paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/409/content/application~1json/examples/expired_request","paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/409/content/application~1json/examples/started_record","paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/409/content/application~1json/examples/slot_unavailable","paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/409/content/application~1json/examples/object_modified"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/zapis/paths/~1api~1record~1reschedule~1approve~1{id}/post"}],"panels":[]}]},"httpPath":"/api/record/reschedule/approve/{id}"},{"label":"Создать запрос на создание записи","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/zapis/paths/~1api~1record~1create/post","routeSlug":"/openapi/zapis/paths/~1api~1record~1create/post","metadata":{"seo":{"title":"Создать запрос на создание записи","description":"Создаёт запрос на создание записи по услуге для выбранного пользователя."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Создать запрос на создание записи","isWebhook":false,"pointer":"/paths/~1api~1record~1create/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Создать запрос на создание записи","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Создаёт запрос на создание записи по услуге для выбранного пользователя."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Перед созданием сервер проверяет:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"корректность тела запроса"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"что пользователь "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"user_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" существует и имеет роль "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"USER"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"что услуга "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"service_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" существует"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"что текущий пользователь может создать request по этой услуге:"},"children":[]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"индивидуальный мастер - если услуга принадлежит ему"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"владелец салона - если услуга принадлежит его салону"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"админ салона с правом "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"RECORD_CREATE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - если услуга принадлежит его салону"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Время записи в этом запросе не передаётся. Слот выбирается позднее,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"при подтверждении запроса через "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/api/record/create/approve/{id}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"master_user_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" при создании request не передаётся. Для салонной услуги мастер выбирается клиентом только при approve."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Цена "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"price"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" фиксируется в "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"create_record_request"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и после approve сохраняется в "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"service_records.service_price"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Для услуги с "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"is_fix_price = false"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"price"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" обязателен и передаётся отправителем."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Для услуги с "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"is_fix_price = true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" передавать "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"price"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" запрещено: сервер берёт цену из карточки услуги."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"После создания в Messenger отправляется request-сообщение:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"action = CREATE_RECORD"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"source_request_id = create_record_request.id"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"payload соответствует "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CreateRecordRequestPayload"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"endpoint доступен мастеру-владельцу услуги, владельцу салона или админу салона с "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"RECORD_CREATE"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/RecordCreateRequestBody","exampleIds":["paths/~1api~1record~1create/post/requestBody/content/application~1json/examples/individual_master","paths/~1api~1record~1create/post/requestBody/content/application~1json/examples/salon_service","paths/~1api~1record~1create/post/requestBody/content/application~1json/examples/salon_service_custom_price"]}},"schemaId":"components/schemas/RecordCreateRequestBody","exampleIds":["paths/~1api~1record~1create/post/requestBody/content/application~1json/examples/individual_master","paths/~1api~1record~1create/post/requestBody/content/application~1json/examples/salon_service","paths/~1api~1record~1create/post/requestBody/content/application~1json/examples/salon_service_custom_price"],"pointer":"/paths/~1api~1record~1create/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/record/create","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/RecordCreateRequestBody","exampleIds":["paths/~1api~1record~1create/post/requestBody/content/application~1json/examples/individual_master","paths/~1api~1record~1create/post/requestBody/content/application~1json/examples/salon_service","paths/~1api~1record~1create/post/requestBody/content/application~1json/examples/salon_service_custom_price"]}},"responseCodes":["200","400","401","403","404"],"pointer":"/api/record/create","href":"zapis/paths/~1api~1record~1create/post","summary":"Создать запрос на создание записи","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/RecordCreateRequestBody","exampleIds":["paths/~1api~1record~1create/post/requestBody/content/application~1json/examples/individual_master","paths/~1api~1record~1create/post/requestBody/content/application~1json/examples/salon_service","paths/~1api~1record~1create/post/requestBody/content/application~1json/examples/salon_service_custom_price"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/RecordCreateRequestBody","exampleIds":["paths/~1api~1record~1create/post/requestBody/content/application~1json/examples/individual_master","paths/~1api~1record~1create/post/requestBody/content/application~1json/examples/salon_service","paths/~1api~1record~1create/post/requestBody/content/application~1json/examples/salon_service_custom_price"]}},"examples":[{},{},{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрос на создание записи успешно создан"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1record~1create/post/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1record~1create/post/responses/200/content/application~1json/examples/ok"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1create/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1record~1create/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1record~1create/post/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1create/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1record~1create/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1record~1create/post/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1create/post/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1create/post/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Недостаточно прав для создания запроса"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1create/post/responses/403/content/application~1json/examples/receiver_not_user","paths/~1api~1record~1create/post/responses/403/content/application~1json/examples/service_not_owned","paths/~1api~1record~1create/post/responses/403/content/application~1json/examples/salon_permission_denied"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1create/post/responses/403/content/application~1json/examples/receiver_not_user","paths/~1api~1record~1create/post/responses/403/content/application~1json/examples/service_not_owned","paths/~1api~1record~1create/post/responses/403/content/application~1json/examples/salon_permission_denied"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Пользователь или услуга не найдены"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1create/post/responses/404/content/application~1json/examples/user_not_found","paths/~1api~1record~1create/post/responses/404/content/application~1json/examples/service_not_found","paths/~1api~1record~1create/post/responses/404/content/application~1json/examples/fixed_service_price_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1create/post/responses/404/content/application~1json/examples/user_not_found","paths/~1api~1record~1create/post/responses/404/content/application~1json/examples/service_not_found","paths/~1api~1record~1create/post/responses/404/content/application~1json/examples/fixed_service_price_not_found"]}],"pointer":"/paths/~1api~1record~1create/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1record~1create/post/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1record~1create/post/responses/200/content/application~1json/examples/ok"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1create/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1record~1create/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1record~1create/post/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1create/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1record~1create/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1record~1create/post/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1create/post/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1create/post/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1create/post/responses/403/content/application~1json/examples/receiver_not_user","paths/~1api~1record~1create/post/responses/403/content/application~1json/examples/service_not_owned","paths/~1api~1record~1create/post/responses/403/content/application~1json/examples/salon_permission_denied"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1create/post/responses/403/content/application~1json/examples/receiver_not_user","paths/~1api~1record~1create/post/responses/403/content/application~1json/examples/service_not_owned","paths/~1api~1record~1create/post/responses/403/content/application~1json/examples/salon_permission_denied"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1create/post/responses/404/content/application~1json/examples/user_not_found","paths/~1api~1record~1create/post/responses/404/content/application~1json/examples/service_not_found","paths/~1api~1record~1create/post/responses/404/content/application~1json/examples/fixed_service_price_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1create/post/responses/404/content/application~1json/examples/user_not_found","paths/~1api~1record~1create/post/responses/404/content/application~1json/examples/service_not_found","paths/~1api~1record~1create/post/responses/404/content/application~1json/examples/fixed_service_price_not_found"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/zapis/paths/~1api~1record~1create/post"}],"panels":[]}]},"httpPath":"/api/record/create"},{"label":"Получить запросы на создание записи по дате создания","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/zapis/paths/~1api~1record~1create~1{date}/get","routeSlug":"/openapi/zapis/paths/~1api~1record~1create~1{date}/get","metadata":{"seo":{"title":"Получить запросы на создание записи по дате создания","description":"Возвращает список запросов на создание записи, созданных в указанную дату."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить запросы на создание записи по дате создания","isWebhook":false,"pointer":"/paths/~1api~1record~1create~1{date}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить запросы на создание записи по дате создания","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает список запросов на создание записи, созданных в указанную дату."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Важно: фильтрация выполняется по "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"at_create"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" / "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"time_create"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", а не по"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"будущему времени услуги. Время услуги появляется только после approve."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"date"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" не должна быть в прошлом"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"date","in":"path","schemaId":"schema_99","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Дата создания request-ов."},"children":[]}]}]}],"required":true,"example":"2026-05-14"}],"pointer":"/paths/~1api~1record~1create~1{date}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/record/create/{date}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"date","in":"path","required":true,"example":"2026-05-14","schemaId":"schema_99"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401"],"pointer":"/api/record/create/{date}","href":"zapis/paths/~1api~1record~1create~1{date}/get","summary":"Получить запросы на создание записи по дате создания","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Список запросов на создание записи успешно получен"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/RecordCreateRequestsResponse","exampleIds":["paths/~1api~1record~1create~1{date}/get/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/RecordCreateRequestsResponse","exampleIds":["paths/~1api~1record~1create~1{date}/get/responses/200/content/application~1json/examples/ok"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректная дата запроса"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1create~1{date}/get/responses/400/content/application~1json/examples/past_date"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1create~1{date}/get/responses/400/content/application~1json/examples/past_date"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1create~1{date}/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1create~1{date}/get/responses/401/content/application~1json/examples/unauthorized"]}],"pointer":"/paths/~1api~1record~1create~1{date}/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/RecordCreateRequestsResponse","exampleIds":["paths/~1api~1record~1create~1{date}/get/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/RecordCreateRequestsResponse","exampleIds":["paths/~1api~1record~1create~1{date}/get/responses/200/content/application~1json/examples/ok"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1create~1{date}/get/responses/400/content/application~1json/examples/past_date"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1create~1{date}/get/responses/400/content/application~1json/examples/past_date"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1create~1{date}/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1create~1{date}/get/responses/401/content/application~1json/examples/unauthorized"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/zapis/paths/~1api~1record~1create~1{date}/get"}],"panels":[]}]},"httpPath":"/api/record/create/{date}"},{"label":"Отклонить запрос на создание записи","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/zapis/paths/~1api~1record~1create~1reject~1{id}/post","routeSlug":"/openapi/zapis/paths/~1api~1record~1create~1reject~1{id}/post","metadata":{"seo":{"title":"Отклонить запрос на создание записи","description":"Отклоняет ранее созданный запрос на создание записи."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Отклонить запрос на создание записи","isWebhook":false,"pointer":"/paths/~1api~1record~1create~1reject~1{id}/post","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Отклонить запрос на создание записи","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Отклоняет ранее созданный запрос на создание записи."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Перед отклонением сервер проверяет:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"корректность "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"что текущий пользователь имеет роль "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"USER"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"что запрос существует"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"что его статус равен "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"WAITING_APPROVE"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"что текущий пользователь является получателем этого запроса"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"После reject Messenger обновляет статус исходного request по WS и создаёт"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"service message "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"RESULT_CREATE_RECORD_REQUEST"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" с "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"status = REJECTED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"При автоматической просрочке создаётся такой же service message с "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"status = EXPIRED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Цвет, текст и иконку результата определяет фронтенд."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор запроса на создание записи."},"children":[]}]}]}],"required":true,"example":21}],"pointer":"/paths/~1api~1record~1create~1reject~1{id}/post/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/record/create/reject/{id}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"example":21,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403","404","409"],"pointer":"/api/record/create/reject/{id}","href":"zapis/paths/~1api~1record~1create~1reject~1{id}/post","summary":"Отклонить запрос на создание записи","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрос на создание записи успешно отклонен"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1record~1create~1reject~1{id}/post/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1record~1create~1reject~1{id}/post/responses/200/content/application~1json/examples/ok"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1create~1reject~1{id}/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1record~1create~1reject~1{id}/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1record~1create~1reject~1{id}/post/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1create~1reject~1{id}/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1record~1create~1reject~1{id}/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1record~1create~1reject~1{id}/post/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1create~1reject~1{id}/post/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1create~1reject~1{id}/post/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Недостаточно прав для отклонения запроса"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1create~1reject~1{id}/post/responses/403/content/application~1json/examples/forbidden_role","paths/~1api~1record~1create~1reject~1{id}/post/responses/403/content/application~1json/examples/forbidden_request"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1create~1reject~1{id}/post/responses/403/content/application~1json/examples/forbidden_role","paths/~1api~1record~1create~1reject~1{id}/post/responses/403/content/application~1json/examples/forbidden_request"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрос не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1create~1reject~1{id}/post/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1create~1reject~1{id}/post/responses/404/content/application~1json/examples/not_found"]},{"code":"409","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрос нельзя отклонить в текущем состоянии"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1create~1reject~1{id}/post/responses/409/content/application~1json/examples/wrong_status"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1create~1reject~1{id}/post/responses/409/content/application~1json/examples/wrong_status"]}],"pointer":"/paths/~1api~1record~1create~1reject~1{id}/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1record~1create~1reject~1{id}/post/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1record~1create~1reject~1{id}/post/responses/200/content/application~1json/examples/ok"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1create~1reject~1{id}/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1record~1create~1reject~1{id}/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1record~1create~1reject~1{id}/post/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1create~1reject~1{id}/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1record~1create~1reject~1{id}/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1record~1create~1reject~1{id}/post/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1create~1reject~1{id}/post/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1create~1reject~1{id}/post/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1create~1reject~1{id}/post/responses/403/content/application~1json/examples/forbidden_role","paths/~1api~1record~1create~1reject~1{id}/post/responses/403/content/application~1json/examples/forbidden_request"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1create~1reject~1{id}/post/responses/403/content/application~1json/examples/forbidden_role","paths/~1api~1record~1create~1reject~1{id}/post/responses/403/content/application~1json/examples/forbidden_request"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1create~1reject~1{id}/post/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1create~1reject~1{id}/post/responses/404/content/application~1json/examples/not_found"]}}},{"code":"409","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1create~1reject~1{id}/post/responses/409/content/application~1json/examples/wrong_status"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1create~1reject~1{id}/post/responses/409/content/application~1json/examples/wrong_status"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/zapis/paths/~1api~1record~1create~1reject~1{id}/post"}],"panels":[]}]},"httpPath":"/api/record/create/reject/{id}"},{"label":"Подтвердить запрос на создание записи","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/zapis/paths/~1api~1record~1create~1approve~1{id}/post","routeSlug":"/openapi/zapis/paths/~1api~1record~1create~1approve~1{id}/post","metadata":{"seo":{"title":"Подтвердить запрос на создание записи","description":"Подтверждает ранее созданный запрос на создание записи и создаёт service recordна выбранный интервал времени."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Подтвердить запрос на создание записи","isWebhook":false,"pointer":"/paths/~1api~1record~1create~1approve~1{id}/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Подтвердить запрос на создание записи","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Подтверждает ранее созданный запрос на создание записи и создаёт service record"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"на выбранный интервал времени."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Перед подтверждением сервер проверяет:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"корректность тела запроса"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"что текущий пользователь существует и имеет роль "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"USER"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"что запрос существует"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"что его статус равен "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"WAITING_APPROVE"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"что текущий пользователь является получателем этого запроса"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"что услуга запроса существует"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"что "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"start"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" находится в будущем"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"что длительность не превышает максимально разрешённую длительность записи"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"что соблюдён "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"min_booking_lead_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" мастера"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"что слот "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"start"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" -> "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"end"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" доступен для услуги"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Для индивидуальной услуги "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"master_user_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" не требуется: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"provider_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"executor_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" будут равны user id мастера."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Для салонной услуги "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"master_user_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" обязателен:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"выбранный мастер должен состоять в том же салоне, которому принадлежит услуга"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"выбранный мастер должен быть назначен на эту услугу"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"свободный слот проверяется именно по выбранному "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"master_user_id"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"При approve создаётся "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"service_records"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":":"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"provider_id = owner_user_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" салона или user id индивидуального мастера"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"executor_id = master_user_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" для салонной услуги или user id индивидуального мастера"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"user_id = receiver_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" из request"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"service_price = price"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" из "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"create_record_request"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", а не текущая цена услуги"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"После approve статус "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"create_record_request"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и request-сообщения Messenger становится"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"WAITING_FOR_PAYMENT"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Отдельный service message на этом шаге не создаётся."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор созданной записи возвращается в "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"data.record_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор запроса на создание записи."},"children":[]}]}]}],"required":true,"example":21}],"pointer":"/paths/~1api~1record~1create~1approve~1{id}/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/RecordApproveCreateRequestBody","exampleIds":["paths/~1api~1record~1create~1approve~1{id}/post/requestBody/content/application~1json/examples/individual_master","paths/~1api~1record~1create~1approve~1{id}/post/requestBody/content/application~1json/examples/salon_service"]}},"schemaId":"components/schemas/RecordApproveCreateRequestBody","exampleIds":["paths/~1api~1record~1create~1approve~1{id}/post/requestBody/content/application~1json/examples/individual_master","paths/~1api~1record~1create~1approve~1{id}/post/requestBody/content/application~1json/examples/salon_service"],"pointer":"/paths/~1api~1record~1create~1approve~1{id}/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/record/create/approve/{id}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"example":21,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/RecordApproveCreateRequestBody","exampleIds":["paths/~1api~1record~1create~1approve~1{id}/post/requestBody/content/application~1json/examples/individual_master","paths/~1api~1record~1create~1approve~1{id}/post/requestBody/content/application~1json/examples/salon_service"]}},"responseCodes":["200","400","401","403","404","409"],"pointer":"/api/record/create/approve/{id}","href":"zapis/paths/~1api~1record~1create~1approve~1{id}/post","summary":"Подтвердить запрос на создание записи","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/RecordApproveCreateRequestBody","exampleIds":["paths/~1api~1record~1create~1approve~1{id}/post/requestBody/content/application~1json/examples/individual_master","paths/~1api~1record~1create~1approve~1{id}/post/requestBody/content/application~1json/examples/salon_service"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/RecordApproveCreateRequestBody","exampleIds":["paths/~1api~1record~1create~1approve~1{id}/post/requestBody/content/application~1json/examples/individual_master","paths/~1api~1record~1create~1approve~1{id}/post/requestBody/content/application~1json/examples/salon_service"]}},"examples":[{},{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрос на создание записи успешно подтвержден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/RecordCreateApproveResponse","exampleIds":["paths/~1api~1record~1create~1approve~1{id}/post/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/RecordCreateApproveResponse","exampleIds":["paths/~1api~1record~1create~1approve~1{id}/post/responses/200/content/application~1json/examples/ok"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное body запроса"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1create~1approve~1{id}/post/responses/400/content/application~1json/examples/invalid_interval","paths/~1api~1record~1create~1approve~1{id}/post/responses/400/content/application~1json/examples/start_in_past","paths/~1api~1record~1create~1approve~1{id}/post/responses/400/content/application~1json/examples/duration_too_long","paths/~1api~1record~1create~1approve~1{id}/post/responses/400/content/application~1json/examples/master_required_for_salon_service"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1create~1approve~1{id}/post/responses/400/content/application~1json/examples/invalid_interval","paths/~1api~1record~1create~1approve~1{id}/post/responses/400/content/application~1json/examples/start_in_past","paths/~1api~1record~1create~1approve~1{id}/post/responses/400/content/application~1json/examples/duration_too_long","paths/~1api~1record~1create~1approve~1{id}/post/responses/400/content/application~1json/examples/master_required_for_salon_service"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1create~1approve~1{id}/post/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1create~1approve~1{id}/post/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Недостаточно прав для подтверждения запроса"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1create~1approve~1{id}/post/responses/403/content/application~1json/examples/forbidden_role","paths/~1api~1record~1create~1approve~1{id}/post/responses/403/content/application~1json/examples/forbidden_request","paths/~1api~1record~1create~1approve~1{id}/post/responses/403/content/application~1json/examples/salon_master_cannot_provide_service"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1create~1approve~1{id}/post/responses/403/content/application~1json/examples/forbidden_role","paths/~1api~1record~1create~1approve~1{id}/post/responses/403/content/application~1json/examples/forbidden_request","paths/~1api~1record~1create~1approve~1{id}/post/responses/403/content/application~1json/examples/salon_master_cannot_provide_service"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Пользователь, запрос или услуга не найдены"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1create~1approve~1{id}/post/responses/404/content/application~1json/examples/user_not_found","paths/~1api~1record~1create~1approve~1{id}/post/responses/404/content/application~1json/examples/request_not_found","paths/~1api~1record~1create~1approve~1{id}/post/responses/404/content/application~1json/examples/service_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1create~1approve~1{id}/post/responses/404/content/application~1json/examples/user_not_found","paths/~1api~1record~1create~1approve~1{id}/post/responses/404/content/application~1json/examples/request_not_found","paths/~1api~1record~1create~1approve~1{id}/post/responses/404/content/application~1json/examples/service_not_found"]},{"code":"409","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрос нельзя подтвердить в текущем состоянии или слот недоступен"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1create~1approve~1{id}/post/responses/409/content/application~1json/examples/wrong_status","paths/~1api~1record~1create~1approve~1{id}/post/responses/409/content/application~1json/examples/min_booking_lead_time","paths/~1api~1record~1create~1approve~1{id}/post/responses/409/content/application~1json/examples/slot_unavailable"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1create~1approve~1{id}/post/responses/409/content/application~1json/examples/wrong_status","paths/~1api~1record~1create~1approve~1{id}/post/responses/409/content/application~1json/examples/min_booking_lead_time","paths/~1api~1record~1create~1approve~1{id}/post/responses/409/content/application~1json/examples/slot_unavailable"]}],"pointer":"/paths/~1api~1record~1create~1approve~1{id}/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/RecordCreateApproveResponse","exampleIds":["paths/~1api~1record~1create~1approve~1{id}/post/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/RecordCreateApproveResponse","exampleIds":["paths/~1api~1record~1create~1approve~1{id}/post/responses/200/content/application~1json/examples/ok"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1create~1approve~1{id}/post/responses/400/content/application~1json/examples/invalid_interval","paths/~1api~1record~1create~1approve~1{id}/post/responses/400/content/application~1json/examples/start_in_past","paths/~1api~1record~1create~1approve~1{id}/post/responses/400/content/application~1json/examples/duration_too_long","paths/~1api~1record~1create~1approve~1{id}/post/responses/400/content/application~1json/examples/master_required_for_salon_service"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1create~1approve~1{id}/post/responses/400/content/application~1json/examples/invalid_interval","paths/~1api~1record~1create~1approve~1{id}/post/responses/400/content/application~1json/examples/start_in_past","paths/~1api~1record~1create~1approve~1{id}/post/responses/400/content/application~1json/examples/duration_too_long","paths/~1api~1record~1create~1approve~1{id}/post/responses/400/content/application~1json/examples/master_required_for_salon_service"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1create~1approve~1{id}/post/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1create~1approve~1{id}/post/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1create~1approve~1{id}/post/responses/403/content/application~1json/examples/forbidden_role","paths/~1api~1record~1create~1approve~1{id}/post/responses/403/content/application~1json/examples/forbidden_request","paths/~1api~1record~1create~1approve~1{id}/post/responses/403/content/application~1json/examples/salon_master_cannot_provide_service"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1create~1approve~1{id}/post/responses/403/content/application~1json/examples/forbidden_role","paths/~1api~1record~1create~1approve~1{id}/post/responses/403/content/application~1json/examples/forbidden_request","paths/~1api~1record~1create~1approve~1{id}/post/responses/403/content/application~1json/examples/salon_master_cannot_provide_service"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1create~1approve~1{id}/post/responses/404/content/application~1json/examples/user_not_found","paths/~1api~1record~1create~1approve~1{id}/post/responses/404/content/application~1json/examples/request_not_found","paths/~1api~1record~1create~1approve~1{id}/post/responses/404/content/application~1json/examples/service_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1create~1approve~1{id}/post/responses/404/content/application~1json/examples/user_not_found","paths/~1api~1record~1create~1approve~1{id}/post/responses/404/content/application~1json/examples/request_not_found","paths/~1api~1record~1create~1approve~1{id}/post/responses/404/content/application~1json/examples/service_not_found"]}}},{"code":"409","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1create~1approve~1{id}/post/responses/409/content/application~1json/examples/wrong_status","paths/~1api~1record~1create~1approve~1{id}/post/responses/409/content/application~1json/examples/min_booking_lead_time","paths/~1api~1record~1create~1approve~1{id}/post/responses/409/content/application~1json/examples/slot_unavailable"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1create~1approve~1{id}/post/responses/409/content/application~1json/examples/wrong_status","paths/~1api~1record~1create~1approve~1{id}/post/responses/409/content/application~1json/examples/min_booking_lead_time","paths/~1api~1record~1create~1approve~1{id}/post/responses/409/content/application~1json/examples/slot_unavailable"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/zapis/paths/~1api~1record~1create~1approve~1{id}/post"}],"panels":[]}]},"httpPath":"/api/record/create/approve/{id}"},{"label":"Создать запрос на доплату","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/zapis/paths/~1api~1record~1surcharge/post","routeSlug":"/openapi/zapis/paths/~1api~1record~1surcharge/post","metadata":{"seo":{"title":"Создать запрос на доплату","description":"Создаёт request на дополнительную оплату по услуге."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Создать запрос на доплату","isWebhook":false,"pointer":"/paths/~1api~1record~1surcharge/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Создать запрос на доплату","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Создаёт request на дополнительную оплату по услуге."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Перед созданием сервер проверяет:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"корректность тела запроса"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"что услуга "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"service_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" существует"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"что текущий пользователь является владельцем/мастером этой услуги"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"После создания в Messenger отправляется request-сообщение:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"action = SURCHARGE"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"source_request_id = surcharge_record_request.id"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"кнопки "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"PAY"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" / "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"REJECT"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"payload соответствует "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SurchargeRequestPayload"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"для салонной услуги "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"sender_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" сохраняется как "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"salon_id"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"endpoint доступен мастеру-владельцу услуги"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"для салонной услуги endpoint доступен владельцу салона и админу с правом "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"RECORD_CREATE"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/RecordSurchargeRequestBody","exampleIds":["paths/~1api~1record~1surcharge/post/requestBody/content/application~1json/examples/example"]}},"schemaId":"components/schemas/RecordSurchargeRequestBody","exampleIds":["paths/~1api~1record~1surcharge/post/requestBody/content/application~1json/examples/example"],"pointer":"/paths/~1api~1record~1surcharge/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/record/surcharge","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/RecordSurchargeRequestBody","exampleIds":["paths/~1api~1record~1surcharge/post/requestBody/content/application~1json/examples/example"]}},"responseCodes":["200","400","401","403","404"],"pointer":"/api/record/surcharge","href":"zapis/paths/~1api~1record~1surcharge/post","summary":"Создать запрос на доплату","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/RecordSurchargeRequestBody","exampleIds":["paths/~1api~1record~1surcharge/post/requestBody/content/application~1json/examples/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/RecordSurchargeRequestBody","exampleIds":["paths/~1api~1record~1surcharge/post/requestBody/content/application~1json/examples/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрос на доплату успешно создан"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1record~1surcharge/post/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1record~1surcharge/post/responses/200/content/application~1json/examples/ok"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1surcharge/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1record~1surcharge/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1record~1surcharge/post/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1surcharge/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1record~1surcharge/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1record~1surcharge/post/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1surcharge/post/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1surcharge/post/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Недостаточно прав для создания запроса на доплату"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1surcharge/post/responses/403/content/application~1json/examples/service_not_owned"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1surcharge/post/responses/403/content/application~1json/examples/service_not_owned"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Услуга не найдена"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1surcharge/post/responses/404/content/application~1json/examples/service_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1surcharge/post/responses/404/content/application~1json/examples/service_not_found"]}],"pointer":"/paths/~1api~1record~1surcharge/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1record~1surcharge/post/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1record~1surcharge/post/responses/200/content/application~1json/examples/ok"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1surcharge/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1record~1surcharge/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1record~1surcharge/post/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1surcharge/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1record~1surcharge/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1record~1surcharge/post/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1surcharge/post/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1surcharge/post/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1surcharge/post/responses/403/content/application~1json/examples/service_not_owned"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1surcharge/post/responses/403/content/application~1json/examples/service_not_owned"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1surcharge/post/responses/404/content/application~1json/examples/service_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1surcharge/post/responses/404/content/application~1json/examples/service_not_found"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/zapis/paths/~1api~1record~1surcharge/post"}],"panels":[]}]},"httpPath":"/api/record/surcharge"},{"label":"Получить запросы на доплату по дате создания","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/zapis/paths/~1api~1record~1surcharge~1{date}/get","routeSlug":"/openapi/zapis/paths/~1api~1record~1surcharge~1{date}/get","metadata":{"seo":{"title":"Получить запросы на доплату по дате создания","description":"Возвращает список запросов на доплату, созданных в указанную дату."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить запросы на доплату по дате создания","isWebhook":false,"pointer":"/paths/~1api~1record~1surcharge~1{date}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить запросы на доплату по дате создания","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает список запросов на доплату, созданных в указанную дату."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Фильтрация выполняется по "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"at_create"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" / "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"time_create"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" в часовом поясе сервиса."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Для владельца и админа салона поиск идёт по общему "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"salon_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"date"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" не должна быть в прошлом"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"date","in":"path","schemaId":"schema_99","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Дата создания запросов на доплату."},"children":[]}]}]}],"required":true,"example":"2026-05-18"}],"pointer":"/paths/~1api~1record~1surcharge~1{date}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/record/surcharge/{date}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"date","in":"path","required":true,"example":"2026-05-18","schemaId":"schema_99"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401"],"pointer":"/api/record/surcharge/{date}","href":"zapis/paths/~1api~1record~1surcharge~1{date}/get","summary":"Получить запросы на доплату по дате создания","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Список запросов на доплату успешно получен"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/RecordSurchargeRequestsResponse","exampleIds":["paths/~1api~1record~1surcharge~1{date}/get/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/RecordSurchargeRequestsResponse","exampleIds":["paths/~1api~1record~1surcharge~1{date}/get/responses/200/content/application~1json/examples/ok"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректная дата запроса"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1surcharge~1{date}/get/responses/400/content/application~1json/examples/past_date"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1surcharge~1{date}/get/responses/400/content/application~1json/examples/past_date"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1surcharge~1{date}/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1surcharge~1{date}/get/responses/401/content/application~1json/examples/unauthorized"]}],"pointer":"/paths/~1api~1record~1surcharge~1{date}/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/RecordSurchargeRequestsResponse","exampleIds":["paths/~1api~1record~1surcharge~1{date}/get/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/RecordSurchargeRequestsResponse","exampleIds":["paths/~1api~1record~1surcharge~1{date}/get/responses/200/content/application~1json/examples/ok"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1surcharge~1{date}/get/responses/400/content/application~1json/examples/past_date"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1surcharge~1{date}/get/responses/400/content/application~1json/examples/past_date"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1surcharge~1{date}/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1surcharge~1{date}/get/responses/401/content/application~1json/examples/unauthorized"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/zapis/paths/~1api~1record~1surcharge~1{date}/get"}],"panels":[]}]},"httpPath":"/api/record/surcharge/{date}"},{"label":"Отклонить запрос на доплату","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/zapis/paths/~1api~1record~1surcharge~1reject~1{id}/post","routeSlug":"/openapi/zapis/paths/~1api~1record~1surcharge~1reject~1{id}/post","metadata":{"seo":{"title":"Отклонить запрос на доплату","description":"Отклоняет ранее созданный запрос на доплату и сохраняет причину отказа."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Отклонить запрос на доплату","isWebhook":false,"pointer":"/paths/~1api~1record~1surcharge~1reject~1{id}/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Отклонить запрос на доплату","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Отклоняет ранее созданный запрос на доплату и сохраняет причину отказа."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Перед отклонением сервер проверяет:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"корректность "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и body запроса"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"что текущий пользователь имеет роль "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"USER"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"что запрос существует"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"что его статус равен "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"WAITING_APPROVE"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"что текущий пользователь является получателем этого запроса"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"После reject Messenger обновляет статус request-сообщения и отправляет"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"service message "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"RESULT_SURCHARGE_REQUEST"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" с "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"status = REJECTED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"reject_reason"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор запроса на доплату."},"children":[]}]}]}],"required":true,"example":31}],"pointer":"/paths/~1api~1record~1surcharge~1reject~1{id}/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/RecordRejectSurchargeRequestBody","exampleIds":["paths/~1api~1record~1surcharge~1reject~1{id}/post/requestBody/content/application~1json/examples/example"]}},"schemaId":"components/schemas/RecordRejectSurchargeRequestBody","exampleIds":["paths/~1api~1record~1surcharge~1reject~1{id}/post/requestBody/content/application~1json/examples/example"],"pointer":"/paths/~1api~1record~1surcharge~1reject~1{id}/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/record/surcharge/reject/{id}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"example":31,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/RecordRejectSurchargeRequestBody","exampleIds":["paths/~1api~1record~1surcharge~1reject~1{id}/post/requestBody/content/application~1json/examples/example"]}},"responseCodes":["200","400","401","403","404","409"],"pointer":"/api/record/surcharge/reject/{id}","href":"zapis/paths/~1api~1record~1surcharge~1reject~1{id}/post","summary":"Отклонить запрос на доплату","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/RecordRejectSurchargeRequestBody","exampleIds":["paths/~1api~1record~1surcharge~1reject~1{id}/post/requestBody/content/application~1json/examples/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/RecordRejectSurchargeRequestBody","exampleIds":["paths/~1api~1record~1surcharge~1reject~1{id}/post/requestBody/content/application~1json/examples/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрос на доплату успешно отклонен"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1record~1surcharge~1reject~1{id}/post/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1record~1surcharge~1reject~1{id}/post/responses/200/content/application~1json/examples/ok"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1surcharge~1reject~1{id}/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1record~1surcharge~1reject~1{id}/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1record~1surcharge~1reject~1{id}/post/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1surcharge~1reject~1{id}/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1record~1surcharge~1reject~1{id}/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1record~1surcharge~1reject~1{id}/post/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1surcharge~1reject~1{id}/post/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1surcharge~1reject~1{id}/post/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Недостаточно прав для отклонения запроса"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1surcharge~1reject~1{id}/post/responses/403/content/application~1json/examples/forbidden_role","paths/~1api~1record~1surcharge~1reject~1{id}/post/responses/403/content/application~1json/examples/forbidden_request"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1surcharge~1reject~1{id}/post/responses/403/content/application~1json/examples/forbidden_role","paths/~1api~1record~1surcharge~1reject~1{id}/post/responses/403/content/application~1json/examples/forbidden_request"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрос не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1surcharge~1reject~1{id}/post/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1surcharge~1reject~1{id}/post/responses/404/content/application~1json/examples/not_found"]},{"code":"409","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрос нельзя отклонить в текущем состоянии"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1surcharge~1reject~1{id}/post/responses/409/content/application~1json/examples/wrong_status"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1surcharge~1reject~1{id}/post/responses/409/content/application~1json/examples/wrong_status"]}],"pointer":"/paths/~1api~1record~1surcharge~1reject~1{id}/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1record~1surcharge~1reject~1{id}/post/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1record~1surcharge~1reject~1{id}/post/responses/200/content/application~1json/examples/ok"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1surcharge~1reject~1{id}/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1record~1surcharge~1reject~1{id}/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1record~1surcharge~1reject~1{id}/post/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1surcharge~1reject~1{id}/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1record~1surcharge~1reject~1{id}/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1record~1surcharge~1reject~1{id}/post/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1surcharge~1reject~1{id}/post/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1surcharge~1reject~1{id}/post/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1surcharge~1reject~1{id}/post/responses/403/content/application~1json/examples/forbidden_role","paths/~1api~1record~1surcharge~1reject~1{id}/post/responses/403/content/application~1json/examples/forbidden_request"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1surcharge~1reject~1{id}/post/responses/403/content/application~1json/examples/forbidden_role","paths/~1api~1record~1surcharge~1reject~1{id}/post/responses/403/content/application~1json/examples/forbidden_request"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1surcharge~1reject~1{id}/post/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1surcharge~1reject~1{id}/post/responses/404/content/application~1json/examples/not_found"]}}},{"code":"409","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1surcharge~1reject~1{id}/post/responses/409/content/application~1json/examples/wrong_status"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1surcharge~1reject~1{id}/post/responses/409/content/application~1json/examples/wrong_status"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/zapis/paths/~1api~1record~1surcharge~1reject~1{id}/post"}],"panels":[]}]},"httpPath":"/api/record/surcharge/reject/{id}"},{"label":"Тестово опубликовать событие успешной оплаты доплаты","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/zapis/paths/~1api~1record~1surcharge~1pay~1{request_id}/post","routeSlug":"/openapi/zapis/paths/~1api~1record~1surcharge~1pay~1{request_id}/post","metadata":{"seo":{"title":"Тестово опубликовать событие успешной оплаты доплаты","description":"Тестовый endpoint для проверки flow оплаты запроса на доплату."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Тестово опубликовать событие успешной оплаты доплаты","isWebhook":false,"pointer":"/paths/~1api~1record~1surcharge~1pay~1{request_id}/post","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Тестово опубликовать событие успешной оплаты доплаты","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Тестовый endpoint для проверки flow оплаты запроса на доплату."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Публикует "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SurchargePaymentSucceededEvent"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" с указанным "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"request_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Listener service_record обрабатывает событие, переводит "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"surcharge_record_request"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"в "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"APPROVED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и отправляет событие approve в Messenger."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"После обработки Messenger обновляет статус request-сообщения и отправляет"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"service message "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"RESULT_SURCHARGE_REQUEST"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" с "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"status = APPROVED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"reject_reason = null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Endpoint временный и может быть удалён."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"request_id","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор запроса на доплату."},"children":[]}]}]}],"required":true,"example":31}],"pointer":"/paths/~1api~1record~1surcharge~1pay~1{request_id}/post/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/record/surcharge/pay/{request_id}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"request_id","in":"path","required":true,"example":31,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","401"],"pointer":"/api/record/surcharge/pay/{request_id}","href":"zapis/paths/~1api~1record~1surcharge~1pay~1{request_id}/post","summary":"Тестово опубликовать событие успешной оплаты доплаты","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Событие успешной оплаты доплаты опубликовано"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/RecordSurchargePayTestResponse","exampleIds":["paths/~1api~1record~1surcharge~1pay~1{request_id}/post/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/RecordSurchargePayTestResponse","exampleIds":["paths/~1api~1record~1surcharge~1pay~1{request_id}/post/responses/200/content/application~1json/examples/ok"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1surcharge~1pay~1{request_id}/post/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1surcharge~1pay~1{request_id}/post/responses/401/content/application~1json/examples/unauthorized"]}],"pointer":"/paths/~1api~1record~1surcharge~1pay~1{request_id}/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/RecordSurchargePayTestResponse","exampleIds":["paths/~1api~1record~1surcharge~1pay~1{request_id}/post/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/RecordSurchargePayTestResponse","exampleIds":["paths/~1api~1record~1surcharge~1pay~1{request_id}/post/responses/200/content/application~1json/examples/ok"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1surcharge~1pay~1{request_id}/post/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1surcharge~1pay~1{request_id}/post/responses/401/content/application~1json/examples/unauthorized"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/zapis/paths/~1api~1record~1surcharge~1pay~1{request_id}/post"}],"panels":[]}]},"httpPath":"/api/record/surcharge/pay/{request_id}"},{"label":"Тестово отметить запись как оплаченную","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/zapis/paths/~1api~1record~1pay~1{id}/post","routeSlug":"/openapi/zapis/paths/~1api~1record~1pay~1{id}/post","metadata":{"seo":{"title":"Тестово отметить запись как оплаченную","description":"Тестовый endpoint для фронтенд-проверки flow оплаты."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Тестово отметить запись как оплаченную","isWebhook":false,"pointer":"/paths/~1api~1record~1pay~1{id}/post","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Тестово отметить запись как оплаченную","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Тестовый endpoint для фронтенд-проверки flow оплаты."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Публикует "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"RecordPaymentSucceededEvent"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" для записи с указанным "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Обработчик атомарно переводит запись из "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"WAITING_FOR_PAYMENT"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" в "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"BOOKED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Если запись создана из предложения, связанный "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"create_record_request"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" переводится в "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"PAID"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":","},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Messenger обновляет статус исходного request по WS и отправляет service message"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"RESULT_CREATE_RECORD_REQUEST"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" с "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"status = PAID"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"record_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Endpoint временный и может быть удалён."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор service record."},"children":[]}]}]}],"required":true,"example":101}],"pointer":"/paths/~1api~1record~1pay~1{id}/post/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/record/pay/{id}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"example":101,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","401"],"pointer":"/api/record/pay/{id}","href":"zapis/paths/~1api~1record~1pay~1{id}/post","summary":"Тестово отметить запись как оплаченную","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Событие успешной оплаты записи опубликовано"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/RecordCreateApproveResponse","exampleIds":["paths/~1api~1record~1pay~1{id}/post/responses/200/content/application~1json/examples/published"]}},"schemaId":"components/schemas/RecordCreateApproveResponse","exampleIds":["paths/~1api~1record~1pay~1{id}/post/responses/200/content/application~1json/examples/published"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1pay~1{id}/post/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1pay~1{id}/post/responses/401/content/application~1json/examples/unauthorized"]}],"pointer":"/paths/~1api~1record~1pay~1{id}/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/RecordCreateApproveResponse","exampleIds":["paths/~1api~1record~1pay~1{id}/post/responses/200/content/application~1json/examples/published"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/RecordCreateApproveResponse","exampleIds":["paths/~1api~1record~1pay~1{id}/post/responses/200/content/application~1json/examples/published"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1pay~1{id}/post/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1pay~1{id}/post/responses/401/content/application~1json/examples/unauthorized"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/zapis/paths/~1api~1record~1pay~1{id}/post"}],"panels":[]}]},"httpPath":"/api/record/pay/{id}"},{"label":"Получить доступные слоты для бронирования услуги","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/zapis/paths/~1api~1record~1free-slots/get","routeSlug":"/openapi/zapis/paths/~1api~1record~1free-slots/get","metadata":{"seo":{"title":"Получить доступные слоты для бронирования услуги","description":"Возвращает список доступных слотов для выбранной услуги на указанную дату."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить доступные слоты для бронирования услуги","isWebhook":false,"pointer":"/paths/~1api~1record~1free-slots/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить доступные слоты для бронирования услуги","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает список доступных слотов для выбранной услуги на указанную дату."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Слот формируется на основе:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"рабочего календаря мастера"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"уже занятых интервалов"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"длительности услуги"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Ограничения входных данных:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"service_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" должен быть положительным"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"service_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" должен ссылаться на существующую услугу"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"date"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" должен быть сегодня или в будущем"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"service_id","in":"query","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор услуги."},"children":[]}]}]}],"required":true,"example":20},{"name":"master_user_id","in":"query","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID мастера салона. Передаётся для услуги салона, чтобы получить слоты выбранного мастера."},"children":[]}]}]}],"example":40},{"name":"date","in":"query","schemaId":"schema_99","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Дата, начиная с сегодняшнего дня."},"children":[]}]}]}],"required":true,"example":"2026-03-13"}],"pointer":"/paths/~1api~1record~1free-slots/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/record/free-slots","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[{"name":"service_id","in":"query","required":true,"example":20,"schemaId":"schema_97"},{"name":"master_user_id","in":"query","required":false,"example":40,"schemaId":"schema_97"},{"name":"date","in":"query","required":true,"example":"2026-03-13","schemaId":"schema_99"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403","404"],"pointer":"/api/record/free-slots","href":"zapis/paths/~1api~1record~1free-slots/get","summary":"Получить доступные слоты для бронирования услуги","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Список слотов успешно получен"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/RecordGetFreeSlotsResponse","exampleIds":["paths/~1api~1record~1free-slots/get/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/RecordGetFreeSlotsResponse","exampleIds":["paths/~1api~1record~1free-slots/get/responses/200/content/application~1json/examples/ok"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1free-slots/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1record~1free-slots/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1record~1free-slots/get/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1free-slots/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1record~1free-slots/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1record~1free-slots/get/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1free-slots/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1free-slots/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1free-slots/get/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1free-slots/get/responses/403/content/application~1json/examples/forbidden"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрошенный ресурс не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1free-slots/get/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1free-slots/get/responses/404/content/application~1json/examples/not_found"]}],"pointer":"/paths/~1api~1record~1free-slots/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/RecordGetFreeSlotsResponse","exampleIds":["paths/~1api~1record~1free-slots/get/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/RecordGetFreeSlotsResponse","exampleIds":["paths/~1api~1record~1free-slots/get/responses/200/content/application~1json/examples/ok"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1free-slots/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1record~1free-slots/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1record~1free-slots/get/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1free-slots/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1record~1free-slots/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1record~1free-slots/get/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1free-slots/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1free-slots/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1free-slots/get/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1free-slots/get/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1free-slots/get/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1free-slots/get/responses/404/content/application~1json/examples/not_found"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/zapis/paths/~1api~1record~1free-slots/get"}],"panels":[]}]},"httpPath":"/api/record/free-slots"},{"label":"Получить записи текущего пользователя","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/zapis/paths/~1api~1record~1user/get","routeSlug":"/openapi/zapis/paths/~1api~1record~1user/get","metadata":{"seo":{"title":"Получить записи текущего пользователя","description":"Возвращает список записей текущего пользователя."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить записи текущего пользователя","isWebhook":false,"pointer":"/paths/~1api~1record~1user/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить записи текущего пользователя","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает список записей текущего пользователя."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"только роль "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"USER"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"текущий пользователь должен иметь доступ на получение записей"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"status","in":"query","schemaId":"schema_170","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Без параметра возвращаются все записи; "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ACTIVE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — только "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"BOOKED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ARCHIVE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"COMPLETED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CANCELED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}],"pointer":"/paths/~1api~1record~1user/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/record/user","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[{"name":"status","in":"query","required":false,"schemaId":"schema_170"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","401","403"],"pointer":"/api/record/user","href":"zapis/paths/~1api~1record~1user/get","summary":"Получить записи текущего пользователя","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Список записей пользователя успешно получен"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/RecordGetUserRecordsResponse","exampleIds":["paths/~1api~1record~1user/get/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/RecordGetUserRecordsResponse","exampleIds":["paths/~1api~1record~1user/get/responses/200/content/application~1json/examples/ok"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1user/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1user/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1user/get/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1user/get/responses/403/content/application~1json/examples/forbidden"]}],"pointer":"/paths/~1api~1record~1user/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/RecordGetUserRecordsResponse","exampleIds":["paths/~1api~1record~1user/get/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/RecordGetUserRecordsResponse","exampleIds":["paths/~1api~1record~1user/get/responses/200/content/application~1json/examples/ok"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1user/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1user/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1user/get/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1user/get/responses/403/content/application~1json/examples/forbidden"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/zapis/paths/~1api~1record~1user/get"}],"panels":[]}]},"httpPath":"/api/record/user"},{"label":"Получить записи текущего провайдера","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/zapis/paths/~1api~1record~1provider/get","routeSlug":"/openapi/zapis/paths/~1api~1record~1provider/get","metadata":{"seo":{"title":"Получить записи текущего провайдера","description":"Возвращает список записей текущего провайдера."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить записи текущего провайдера","isWebhook":false,"pointer":"/paths/~1api~1record~1provider/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить записи текущего провайдера","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает список записей текущего провайдера."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"только роль "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"MASTER"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"status","in":"query","schemaId":"schema_170","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Без параметра возвращаются все записи; "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ACTIVE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — только "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"BOOKED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ARCHIVE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"COMPLETED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CANCELED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}],"pointer":"/paths/~1api~1record~1provider/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/record/provider","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[{"name":"status","in":"query","required":false,"schemaId":"schema_170"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","401","403"],"pointer":"/api/record/provider","href":"zapis/paths/~1api~1record~1provider/get","summary":"Получить записи текущего провайдера","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Список записей провайдера успешно получен"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/RecordGetUserRecordsResponse","exampleIds":["paths/~1api~1record~1provider/get/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/RecordGetUserRecordsResponse","exampleIds":["paths/~1api~1record~1provider/get/responses/200/content/application~1json/examples/ok"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1provider/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1provider/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1provider/get/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1provider/get/responses/403/content/application~1json/examples/forbidden"]}],"pointer":"/paths/~1api~1record~1provider/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/RecordGetUserRecordsResponse","exampleIds":["paths/~1api~1record~1provider/get/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/RecordGetUserRecordsResponse","exampleIds":["paths/~1api~1record~1provider/get/responses/200/content/application~1json/examples/ok"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1provider/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1provider/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1provider/get/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1provider/get/responses/403/content/application~1json/examples/forbidden"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/zapis/paths/~1api~1record~1provider/get"}],"panels":[]}]},"httpPath":"/api/record/provider"},{"label":"Получить смешанное расписание провайдера за дату","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/zapis/paths/~1api~1record~1provider~1schedule~1{date}/get","routeSlug":"/openapi/zapis/paths/~1api~1record~1provider~1schedule~1{date}/get","metadata":{"seo":{"title":"Получить смешанное расписание провайдера за дату","description":"Возвращает единый отсортированный по времени список записей и перерывов.Для записи type равен RECORD и передаётся её id.Для перерыва type равен BREAK, а id равен null."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить смешанное расписание провайдера за дату","isWebhook":false,"pointer":"/paths/~1api~1record~1provider~1schedule~1{date}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить смешанное расписание провайдера за дату","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает единый отсортированный по времени список записей и перерывов."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Для записи "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" равен "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"RECORD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и передаётся её "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Для перерыва "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" равен "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"BREAK"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", а "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" равен "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"date","in":"path","schemaId":"schema_99","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Дата расписания."},"children":[]}]}]}],"required":true,"example":"2026-04-28"}],"pointer":"/paths/~1api~1record~1provider~1schedule~1{date}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/record/provider/schedule/{date}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"date","in":"path","required":true,"example":"2026-04-28","schemaId":"schema_99"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403"],"pointer":"/api/record/provider/schedule/{date}","href":"zapis/paths/~1api~1record~1provider~1schedule~1{date}/get","summary":"Получить смешанное расписание провайдера за дату","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Смешанное расписание успешно получено"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ProviderScheduleResponse","exampleIds":["paths/~1api~1record~1provider~1schedule~1{date}/get/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/ProviderScheduleResponse","exampleIds":["paths/~1api~1record~1provider~1schedule~1{date}/get/responses/200/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1provider~1schedule~1{date}/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1record~1provider~1schedule~1{date}/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1record~1provider~1schedule~1{date}/get/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1provider~1schedule~1{date}/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1record~1provider~1schedule~1{date}/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1record~1provider~1schedule~1{date}/get/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1provider~1schedule~1{date}/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1provider~1schedule~1{date}/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1provider~1schedule~1{date}/get/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1provider~1schedule~1{date}/get/responses/403/content/application~1json/examples/forbidden"]}],"pointer":"/paths/~1api~1record~1provider~1schedule~1{date}/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/ProviderScheduleResponse","exampleIds":["paths/~1api~1record~1provider~1schedule~1{date}/get/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ProviderScheduleResponse","exampleIds":["paths/~1api~1record~1provider~1schedule~1{date}/get/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1provider~1schedule~1{date}/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1record~1provider~1schedule~1{date}/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1record~1provider~1schedule~1{date}/get/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1provider~1schedule~1{date}/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1record~1provider~1schedule~1{date}/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1record~1provider~1schedule~1{date}/get/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1provider~1schedule~1{date}/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1provider~1schedule~1{date}/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1provider~1schedule~1{date}/get/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1provider~1schedule~1{date}/get/responses/403/content/application~1json/examples/forbidden"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/zapis/paths/~1api~1record~1provider~1schedule~1{date}/get"}],"panels":[]}]},"httpPath":"/api/record/provider/schedule/{date}"},{"label":"Получить даты записей текущего провайдера за год","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/zapis/paths/~1api~1record~1provider~1calendar/get","routeSlug":"/openapi/zapis/paths/~1api~1record~1provider~1calendar/get","metadata":{"seo":{"title":"Получить даты записей текущего провайдера за год","description":"Возвращает календарную сводку текущего провайдера за указанный год.В каждом месяце возвращаются номера дней, в которых есть записи со статусомBOOKED или COMPLETED. Записи со статусом CANCELED и записи, ожидающие оплаты,в сводку не включаются."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить даты записей текущего провайдера за год","isWebhook":false,"pointer":"/paths/~1api~1record~1provider~1calendar/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить даты записей текущего провайдера за год","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает календарную сводку текущего провайдера за указанный год."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"В каждом месяце возвращаются номера дней, в которых есть записи со статусом"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"BOOKED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" или "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"COMPLETED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Записи со статусом "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CANCELED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и записи, ожидающие оплаты,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"в сводку не включаются."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Ключи объекта "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"months"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — номера месяцев от "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"1"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" до "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"12"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Пустой массив означает,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"что в месяце нет записей. Дата определяется в часовом поясе "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Europe/Minsk"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Для участника салона требуется permission "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"RECORD_VIEW"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; владелец салона и мастер"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"могут получать собственную календарную сводку согласно правилам доступа салона."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"year","in":"query","schemaId":"schema_171","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Год календаря."},"children":[]}]}]}],"required":true,"example":2026}],"pointer":"/paths/~1api~1record~1provider~1calendar/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/record/provider/calendar","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[{"name":"year","in":"query","required":true,"example":2026,"schemaId":"schema_171"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403"],"pointer":"/api/record/provider/calendar","href":"zapis/paths/~1api~1record~1provider~1calendar/get","summary":"Получить даты записей текущего провайдера за год","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Календарная сводка провайдера успешно получена"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_172"}},"schemaId":"schema_172"},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1provider~1calendar/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1record~1provider~1calendar/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1record~1provider~1calendar/get/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1provider~1calendar/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1record~1provider~1calendar/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1record~1provider~1calendar/get/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1provider~1calendar/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1provider~1calendar/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1provider~1calendar/get/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1provider~1calendar/get/responses/403/content/application~1json/examples/forbidden"]}],"pointer":"/paths/~1api~1record~1provider~1calendar/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_172","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_172"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1provider~1calendar/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1record~1provider~1calendar/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1record~1provider~1calendar/get/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1provider~1calendar/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1record~1provider~1calendar/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1record~1provider~1calendar/get/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1provider~1calendar/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1provider~1calendar/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1provider~1calendar/get/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1provider~1calendar/get/responses/403/content/application~1json/examples/forbidden"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/zapis/paths/~1api~1record~1provider~1calendar/get"}],"panels":[]}]},"httpPath":"/api/record/provider/calendar"},{"label":"Получить записи текущего провайдера по дате","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/zapis/paths/~1api~1record~1provider~1{date}/get","routeSlug":"/openapi/zapis/paths/~1api~1record~1provider~1{date}/get","metadata":{"seo":{"title":"Получить записи текущего провайдера по дате","description":"Требования:"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить записи текущего провайдера по дате","isWebhook":false,"pointer":"/paths/~1api~1record~1provider~1{date}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить записи текущего провайдера по дате","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"только роль "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"MASTER"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"обязательный path-параметр "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"date"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" в формате "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"date","in":"path","schemaId":"schema_99","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Дата записей провайдера"},"children":[]}]}]}],"required":true,"example":"2026-03-11"}],"pointer":"/paths/~1api~1record~1provider~1{date}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/record/provider/{date}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"date","in":"path","required":true,"example":"2026-03-11","schemaId":"schema_99"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403"],"pointer":"/api/record/provider/{date}","href":"zapis/paths/~1api~1record~1provider~1{date}/get","summary":"Получить записи текущего провайдера по дате","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Список записей провайдера за дату успешно получен"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/RecordGetUserRecordsResponse","exampleIds":["paths/~1api~1record~1provider~1{date}/get/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/RecordGetUserRecordsResponse","exampleIds":["paths/~1api~1record~1provider~1{date}/get/responses/200/content/application~1json/examples/ok"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1provider~1{date}/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1record~1provider~1{date}/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1record~1provider~1{date}/get/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1provider~1{date}/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1record~1provider~1{date}/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1record~1provider~1{date}/get/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1provider~1{date}/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1provider~1{date}/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1provider~1{date}/get/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1provider~1{date}/get/responses/403/content/application~1json/examples/forbidden"]}],"pointer":"/paths/~1api~1record~1provider~1{date}/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/RecordGetUserRecordsResponse","exampleIds":["paths/~1api~1record~1provider~1{date}/get/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/RecordGetUserRecordsResponse","exampleIds":["paths/~1api~1record~1provider~1{date}/get/responses/200/content/application~1json/examples/ok"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1provider~1{date}/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1record~1provider~1{date}/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1record~1provider~1{date}/get/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1provider~1{date}/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1record~1provider~1{date}/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1record~1provider~1{date}/get/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1provider~1{date}/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1provider~1{date}/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1provider~1{date}/get/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1record~1provider~1{date}/get/responses/403/content/application~1json/examples/forbidden"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/zapis/paths/~1api~1record~1provider~1{date}/get"}],"panels":[]}]},"httpPath":"/api/record/provider/{date}"}],"content":{"contentType":"group","meta":{"name":"Запись"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Запись","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Бронирование услуг и получение доступных слотов."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/api/record/","summary":"Создать запись","prefix":{"name":"post","color":"post"},"badges":[],"link":"/zapis/paths/~1api~1record~1/post","deprecated":false},{"title":"/api/record/checkout","summary":"Рассчитать checkout перед созданием записи","prefix":{"name":"post","color":"post"},"badges":[],"link":"/zapis/paths/~1api~1record~1checkout/post","deprecated":false},{"title":"/api/record/{id}","summary":"Получить запись по id","prefix":{"name":"get","color":"get"},"badges":[],"link":"/zapis/paths/~1api~1record~1{id}/get","deprecated":false},{"title":"/api/record/{id}","summary":"Изменить общий комментарий мастера/салона","prefix":{"name":"patch","color":"patch"},"badges":[],"link":"/zapis/paths/~1api~1record~1{id}/patch","deprecated":false},{"title":"/api/record/{id}/cancel","summary":"Отменить запись","prefix":{"name":"post","color":"post"},"badges":[],"link":"/zapis/paths/~1api~1record~1{id}~1cancel/post","deprecated":false},{"title":"/api/record/reschedule","summary":"Создать запрос на перенос записи","prefix":{"name":"post","color":"post"},"badges":[],"link":"/zapis/paths/~1api~1record~1reschedule/post","deprecated":false},{"title":"/api/record/reschedule/{date}","summary":"Получить запросы на перенос записи по дате","prefix":{"name":"get","color":"get"},"badges":[],"link":"/zapis/paths/~1api~1record~1reschedule~1{date}/get","deprecated":false},{"title":"/api/record/reschedule/reject/{id}","summary":"Отклонить запрос на перенос записи","prefix":{"name":"post","color":"post"},"badges":[],"link":"/zapis/paths/~1api~1record~1reschedule~1reject~1{id}/post","deprecated":false},{"title":"/api/record/reschedule/approve/{id}","summary":"Подтвердить запрос на перенос записи","prefix":{"name":"post","color":"post"},"badges":[],"link":"/zapis/paths/~1api~1record~1reschedule~1approve~1{id}/post","deprecated":false},{"title":"/api/record/create","summary":"Создать запрос на создание записи","prefix":{"name":"post","color":"post"},"badges":[],"link":"/zapis/paths/~1api~1record~1create/post","deprecated":false},{"title":"/api/record/create/{date}","summary":"Получить запросы на создание записи по дате создания","prefix":{"name":"get","color":"get"},"badges":[],"link":"/zapis/paths/~1api~1record~1create~1{date}/get","deprecated":false},{"title":"/api/record/create/reject/{id}","summary":"Отклонить запрос на создание записи","prefix":{"name":"post","color":"post"},"badges":[],"link":"/zapis/paths/~1api~1record~1create~1reject~1{id}/post","deprecated":false},{"title":"/api/record/create/approve/{id}","summary":"Подтвердить запрос на создание записи","prefix":{"name":"post","color":"post"},"badges":[],"link":"/zapis/paths/~1api~1record~1create~1approve~1{id}/post","deprecated":false},{"title":"/api/record/surcharge","summary":"Создать запрос на доплату","prefix":{"name":"post","color":"post"},"badges":[],"link":"/zapis/paths/~1api~1record~1surcharge/post","deprecated":false},{"title":"/api/record/surcharge/{date}","summary":"Получить запросы на доплату по дате создания","prefix":{"name":"get","color":"get"},"badges":[],"link":"/zapis/paths/~1api~1record~1surcharge~1{date}/get","deprecated":false},{"title":"/api/record/surcharge/reject/{id}","summary":"Отклонить запрос на доплату","prefix":{"name":"post","color":"post"},"badges":[],"link":"/zapis/paths/~1api~1record~1surcharge~1reject~1{id}/post","deprecated":false},{"title":"/api/record/surcharge/pay/{request_id}","summary":"Тестово опубликовать событие успешной оплаты доплаты","prefix":{"name":"post","color":"post"},"badges":[],"link":"/zapis/paths/~1api~1record~1surcharge~1pay~1{request_id}/post","deprecated":false},{"title":"/api/record/pay/{id}","summary":"Тестово отметить запись как оплаченную","prefix":{"name":"post","color":"post"},"badges":[],"link":"/zapis/paths/~1api~1record~1pay~1{id}/post","deprecated":false},{"title":"/api/record/free-slots","summary":"Получить доступные слоты для бронирования услуги","prefix":{"name":"get","color":"get"},"badges":[],"link":"/zapis/paths/~1api~1record~1free-slots/get","deprecated":false},{"title":"/api/record/user","summary":"Получить записи текущего пользователя","prefix":{"name":"get","color":"get"},"badges":[],"link":"/zapis/paths/~1api~1record~1user/get","deprecated":false},{"title":"/api/record/provider","summary":"Получить записи текущего провайдера","prefix":{"name":"get","color":"get"},"badges":[],"link":"/zapis/paths/~1api~1record~1provider/get","deprecated":false},{"title":"/api/record/provider/schedule/{date}","summary":"Получить смешанное расписание провайдера за дату","prefix":{"name":"get","color":"get"},"badges":[],"link":"/zapis/paths/~1api~1record~1provider~1schedule~1{date}/get","deprecated":false},{"title":"/api/record/provider/calendar","summary":"Получить даты записей текущего провайдера за год","prefix":{"name":"get","color":"get"},"badges":[],"link":"/zapis/paths/~1api~1record~1provider~1calendar/get","deprecated":false},{"title":"/api/record/provider/{date}","summary":"Получить записи текущего провайдера по дате","prefix":{"name":"get","color":"get"},"badges":[],"link":"/zapis/paths/~1api~1record~1provider~1{date}/get","deprecated":false}]}]}]}]}},{"type":"group","label":"Аналитика","link":"/openapi/analitika","routeSlug":"/openapi/analitika","items":[{"label":"Получить аналитику мастера за дату","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/analitika/paths/~1api~1master~1analytics~1{date}/get","routeSlug":"/openapi/analitika/paths/~1api~1master~1analytics~1{date}/get","metadata":{"seo":{"title":"Получить аналитику мастера за дату","description":"Требования:"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить аналитику мастера за дату","isWebhook":false,"pointer":"/paths/~1api~1master~1analytics~1{date}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить аналитику мастера за дату","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"текущий пользователь должен быть мастером"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"date","in":"path","schemaId":"schema_99","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Дата аналитики в формате ISO-8601."},"children":[]}]}]}],"required":true,"example":"2026-04-27"}],"pointer":"/paths/~1api~1master~1analytics~1{date}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/master/analytics/{date}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"date","in":"path","required":true,"example":"2026-04-27","schemaId":"schema_99"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","401","404"],"pointer":"/api/master/analytics/{date}","href":"analitika/paths/~1api~1master~1analytics~1{date}/get","summary":"Получить аналитику мастера за дату","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Аналитика мастера успешно получена"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/MasterAnalyticsResponse","exampleIds":["paths/~1api~1master~1analytics~1{date}/get/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/MasterAnalyticsResponse","exampleIds":["paths/~1api~1master~1analytics~1{date}/get/responses/200/content/application~1json/examples/ok"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1master~1analytics~1{date}/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1master~1analytics~1{date}/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Мастер не найден для текущего пользователя"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1master~1analytics~1{date}/get/responses/404/content/application~1json/examples/master_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1master~1analytics~1{date}/get/responses/404/content/application~1json/examples/master_not_found"]}],"pointer":"/paths/~1api~1master~1analytics~1{date}/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/MasterAnalyticsResponse","exampleIds":["paths/~1api~1master~1analytics~1{date}/get/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/MasterAnalyticsResponse","exampleIds":["paths/~1api~1master~1analytics~1{date}/get/responses/200/content/application~1json/examples/ok"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1master~1analytics~1{date}/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1master~1analytics~1{date}/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1master~1analytics~1{date}/get/responses/404/content/application~1json/examples/master_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1master~1analytics~1{date}/get/responses/404/content/application~1json/examples/master_not_found"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/analitika/paths/~1api~1master~1analytics~1{date}/get"}],"panels":[]}]},"httpPath":"/api/master/analytics/{date}"},{"label":"Получить мини-аналитику салона за день","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/analitika/paths/~1api~1salon~1analytics~1{date}/get","routeSlug":"/openapi/analitika/paths/~1api~1salon~1analytics~1{date}/get","metadata":{"seo":{"title":"Получить мини-аналитику салона за день","description":"Возвращает количество записей, свободные часы и загрузку салона за выбранный день.Доступ разрешен владельцу салона и администратору с правом RECORD_VIEW."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить мини-аналитику салона за день","isWebhook":false,"pointer":"/paths/~1api~1salon~1analytics~1{date}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить мини-аналитику салона за день","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает количество записей, свободные часы и загрузку салона за выбранный день."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ разрешен владельцу салона и администратору с правом "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"RECORD_VIEW"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"date","in":"path","schemaId":"schema_99","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Дата в формате "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true,"example":"2026-09-01"}],"pointer":"/paths/~1api~1salon~1analytics~1{date}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/salon/analytics/{date}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"date","in":"path","required":true,"example":"2026-09-01","schemaId":"schema_99"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403","404"],"pointer":"/api/salon/analytics/{date}","href":"analitika/paths/~1api~1salon~1analytics~1{date}/get","summary":"Получить мини-аналитику салона за день","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Мини-аналитика салона успешно получена"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SalonDailyAnalyticsResponse","exampleIds":["paths/~1api~1salon~1analytics~1{date}/get/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/SalonDailyAnalyticsResponse","exampleIds":["paths/~1api~1salon~1analytics~1{date}/get/responses/200/content/application~1json/examples/ok"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректный формат даты"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1analytics~1{date}/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1analytics~1{date}/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1analytics~1{date}/get/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1analytics~1{date}/get/responses/403/content/application~1json/examples/forbidden"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Салон не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"}],"pointer":"/paths/~1api~1salon~1analytics~1{date}/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/SalonDailyAnalyticsResponse","exampleIds":["paths/~1api~1salon~1analytics~1{date}/get/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SalonDailyAnalyticsResponse","exampleIds":["paths/~1api~1salon~1analytics~1{date}/get/responses/200/content/application~1json/examples/ok"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1analytics~1{date}/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1analytics~1{date}/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1analytics~1{date}/get/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1salon~1analytics~1{date}/get/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/analitika/paths/~1api~1salon~1analytics~1{date}/get"}],"panels":[]}]},"httpPath":"/api/salon/analytics/{date}"},{"label":"Получить аналитику текущего мастера за период","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/analitika/paths/~1api~1analytics~1master/get","routeSlug":"/openapi/analitika/paths/~1api~1analytics~1master/get","metadata":{"seo":{"title":"Получить аналитику текущего мастера за период","description":"Возвращает агрегированную аналитику текущего мастера за период дат."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить аналитику текущего мастера за период","isWebhook":false,"pointer":"/paths/~1api~1analytics~1master/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить аналитику текущего мастера за период","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает агрегированную аналитику текущего мастера за период дат."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"текущий пользователь должен иметь роль "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"MASTER"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"start","in":"query","schemaId":"schema_99","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Начальная дата периода включительно."},"children":[]}]}]}],"required":true,"example":"2026-05-20"},{"name":"end","in":"query","schemaId":"schema_99","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Конечная дата периода включительно."},"children":[]}]}]}],"required":true,"example":"2026-05-21"}],"pointer":"/paths/~1api~1analytics~1master/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/analytics/master","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[{"name":"start","in":"query","required":true,"example":"2026-05-20","schemaId":"schema_99"},{"name":"end","in":"query","required":true,"example":"2026-05-21","schemaId":"schema_99"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403","404"],"pointer":"/api/analytics/master","href":"analitika/paths/~1api~1analytics~1master/get","summary":"Получить аналитику текущего мастера за период","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Аналитика успешно получена"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/PeriodAnalyticsResponse","exampleIds":["paths/~1api~1analytics~1master/get/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/PeriodAnalyticsResponse","exampleIds":["paths/~1api~1analytics~1master/get/responses/200/content/application~1json/examples/ok"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректные параметры периода"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1analytics~1master/get/responses/400/content/application~1json/examples/start_required","paths/~1api~1analytics~1master/get/responses/400/content/application~1json/examples/end_required","paths/~1api~1analytics~1master/get/responses/400/content/application~1json/examples/end_before_start"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1analytics~1master/get/responses/400/content/application~1json/examples/start_required","paths/~1api~1analytics~1master/get/responses/400/content/application~1json/examples/end_required","paths/~1api~1analytics~1master/get/responses/400/content/application~1json/examples/end_before_start"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1analytics~1master/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1analytics~1master/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1analytics~1master/get/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1analytics~1master/get/responses/403/content/application~1json/examples/forbidden"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Мастер не найден для текущего пользователя"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1analytics~1master/get/responses/404/content/application~1json/examples/master_not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1analytics~1master/get/responses/404/content/application~1json/examples/master_not_found"]}],"pointer":"/paths/~1api~1analytics~1master/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/PeriodAnalyticsResponse","exampleIds":["paths/~1api~1analytics~1master/get/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/PeriodAnalyticsResponse","exampleIds":["paths/~1api~1analytics~1master/get/responses/200/content/application~1json/examples/ok"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1analytics~1master/get/responses/400/content/application~1json/examples/start_required","paths/~1api~1analytics~1master/get/responses/400/content/application~1json/examples/end_required","paths/~1api~1analytics~1master/get/responses/400/content/application~1json/examples/end_before_start"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1analytics~1master/get/responses/400/content/application~1json/examples/start_required","paths/~1api~1analytics~1master/get/responses/400/content/application~1json/examples/end_required","paths/~1api~1analytics~1master/get/responses/400/content/application~1json/examples/end_before_start"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1analytics~1master/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1analytics~1master/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1analytics~1master/get/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1analytics~1master/get/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1analytics~1master/get/responses/404/content/application~1json/examples/master_not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1analytics~1master/get/responses/404/content/application~1json/examples/master_not_found"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/analitika/paths/~1api~1analytics~1master/get"}],"panels":[]}]},"httpPath":"/api/analytics/master"},{"label":"Получить аналитику текущего салона за период","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/analitika/paths/~1api~1analytics~1salon/get","routeSlug":"/openapi/analitika/paths/~1api~1analytics~1salon/get","metadata":{"seo":{"title":"Получить аналитику текущего салона за период","description":"Возвращает аналитику записей салона по provider_id владельца.Доступ разрешен владельцу и администратору салона."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить аналитику текущего салона за период","isWebhook":false,"pointer":"/paths/~1api~1analytics~1salon/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить аналитику текущего салона за период","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает аналитику записей салона по "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"provider_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" владельца."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ разрешен владельцу и администратору салона."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"start","in":"query","schemaId":"schema_99","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Начальная дата периода включительно."},"children":[]}]}]}],"required":true},{"name":"end","in":"query","schemaId":"schema_99","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Конечная дата периода включительно."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1analytics~1salon/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/analytics/salon","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[{"name":"start","in":"query","required":true,"schemaId":"schema_99"},{"name":"end","in":"query","required":true,"schemaId":"schema_99"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403","404"],"pointer":"/api/analytics/salon","href":"analitika/paths/~1api~1analytics~1salon/get","summary":"Получить аналитику текущего салона за период","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Аналитика салона успешно получена"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/PeriodAnalyticsResponse","exampleIds":["paths/~1api~1analytics~1salon/get/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/PeriodAnalyticsResponse","exampleIds":["paths/~1api~1analytics~1salon/get/responses/200/content/application~1json/examples/ok"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректные параметры периода"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1analytics~1salon/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1analytics~1salon/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1analytics~1salon/get/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1analytics~1salon/get/responses/403/content/application~1json/examples/forbidden"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Салон или владелец салона не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"}],"pointer":"/paths/~1api~1analytics~1salon/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/PeriodAnalyticsResponse","exampleIds":["paths/~1api~1analytics~1salon/get/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/PeriodAnalyticsResponse","exampleIds":["paths/~1api~1analytics~1salon/get/responses/200/content/application~1json/examples/ok"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1analytics~1salon/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1analytics~1salon/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1analytics~1salon/get/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1analytics~1salon/get/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/analitika/paths/~1api~1analytics~1salon/get"}],"panels":[]}]},"httpPath":"/api/analytics/salon"}],"content":{"contentType":"group","meta":{"name":"Аналитика"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Аналитика","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Получение агрегированной аналитики для мастера."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/api/master/analytics/{date}","summary":"Получить аналитику мастера за дату","prefix":{"name":"get","color":"get"},"badges":[],"link":"/analitika/paths/~1api~1master~1analytics~1{date}/get","deprecated":false},{"title":"/api/salon/analytics/{date}","summary":"Получить мини-аналитику салона за день","prefix":{"name":"get","color":"get"},"badges":[],"link":"/analitika/paths/~1api~1salon~1analytics~1{date}/get","deprecated":false},{"title":"/api/analytics/master","summary":"Получить аналитику текущего мастера за период","prefix":{"name":"get","color":"get"},"badges":[],"link":"/analitika/paths/~1api~1analytics~1master/get","deprecated":false},{"title":"/api/analytics/salon","summary":"Получить аналитику текущего салона за период","prefix":{"name":"get","color":"get"},"badges":[],"link":"/analitika/paths/~1api~1analytics~1salon/get","deprecated":false}]}]}]}]}},{"type":"group","label":"Отзывы","link":"/openapi/otzyvy","routeSlug":"/openapi/otzyvy","items":[{"label":"Создать отзыв по завершённой записи","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/otzyvy/paths/~1api~1review/post","routeSlug":"/openapi/otzyvy/paths/~1api~1review/post","metadata":{"seo":{"title":"Создать отзыв по завершённой записи","description":"Создаёт новый отзыв текущего пользователя по service record."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Создать отзыв по завершённой записи","isWebhook":false,"pointer":"/paths/~1api~1review/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Создать отзыв по завершённой записи","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Создаёт новый отзыв текущего пользователя по service record."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"отзыв можно оставить только на собственную завершённую запись"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"на одну запись можно оставить только один отзыв"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"все "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"media_ids"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если переданы, должны быть доступны пользователю и иметь purpose "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CARD"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/CreateReviewRequest","exampleIds":["paths/~1api~1review/post/requestBody/content/application~1json/examples/example"]}},"schemaId":"components/schemas/CreateReviewRequest","exampleIds":["paths/~1api~1review/post/requestBody/content/application~1json/examples/example"],"pointer":"/paths/~1api~1review/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/review","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/CreateReviewRequest","exampleIds":["paths/~1api~1review/post/requestBody/content/application~1json/examples/example"]}},"responseCodes":["200","400","403","404","409"],"pointer":"/api/review","href":"otzyvy/paths/~1api~1review/post","summary":"Создать отзыв по завершённой записи","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/CreateReviewRequest","exampleIds":["paths/~1api~1review/post/requestBody/content/application~1json/examples/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/CreateReviewRequest","exampleIds":["paths/~1api~1review/post/requestBody/content/application~1json/examples/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Отзыв успешно создан"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ReviewSingleResponse","exampleIds":["paths/~1api~1review/post/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/ReviewSingleResponse","exampleIds":["paths/~1api~1review/post/responses/200/content/application~1json/examples/ok"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1review/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1review/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1review/post/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1review/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1review/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1review/post/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1review/post/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1review/post/responses/403/content/application~1json/examples/forbidden"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрошенный ресурс не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1review/post/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1review/post/responses/404/content/application~1json/examples/not_found"]},{"code":"409","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрос конфликтует с текущим состоянием ресурса"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1review/post/responses/409/content/application~1json/examples/conflict"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1review/post/responses/409/content/application~1json/examples/conflict"]}],"pointer":"/paths/~1api~1review/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/ReviewSingleResponse","exampleIds":["paths/~1api~1review/post/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ReviewSingleResponse","exampleIds":["paths/~1api~1review/post/responses/200/content/application~1json/examples/ok"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1review/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1review/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1review/post/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1review/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1review/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1review/post/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1review/post/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1review/post/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1review/post/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1review/post/responses/404/content/application~1json/examples/not_found"]}}},{"code":"409","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1review/post/responses/409/content/application~1json/examples/conflict"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1review/post/responses/409/content/application~1json/examples/conflict"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/otzyvy/paths/~1api~1review/post"}],"panels":[]}]},"httpPath":"/api/review"},{"label":"Получить отзывы текущего пользователя","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/otzyvy/paths/~1api~1review~1user/get","routeSlug":"/openapi/otzyvy/paths/~1api~1review~1user/get","metadata":{"seo":{"title":"Получить отзывы текущего пользователя","description":"Возвращает все отзывы, оставленные текущим авторизованным пользователем."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить отзывы текущего пользователя","isWebhook":false,"pointer":"/paths/~1api~1review~1user/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить отзывы текущего пользователя","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает все отзывы, оставленные текущим авторизованным пользователем."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/review/user","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","401"],"pointer":"/api/review/user","href":"otzyvy/paths/~1api~1review~1user/get","summary":"Получить отзывы текущего пользователя","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Список отзывов текущего пользователя"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ReviewListResponse","exampleIds":["paths/~1api~1review~1user/get/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/ReviewListResponse","exampleIds":["paths/~1api~1review~1user/get/responses/200/content/application~1json/examples/ok"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1review~1user/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1review~1user/get/responses/401/content/application~1json/examples/unauthorized"]}],"pointer":"/paths/~1api~1review~1user/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/ReviewListResponse","exampleIds":["paths/~1api~1review~1user/get/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ReviewListResponse","exampleIds":["paths/~1api~1review~1user/get/responses/200/content/application~1json/examples/ok"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1review~1user/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1review~1user/get/responses/401/content/application~1json/examples/unauthorized"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/otzyvy/paths/~1api~1review~1user/get"}],"panels":[]}]},"httpPath":"/api/review/user"},{"label":"Получить отзывы индивидуального мастера","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/otzyvy/paths/~1api~1review~1provider~1{providerid}/get","routeSlug":"/openapi/otzyvy/paths/~1api~1review~1provider~1{providerid}/get","metadata":{"seo":{"title":"Получить отзывы индивидуального мастера","description":"Возвращает все отзывы индивидуального мастера.providerId — user id мастера (users.id), сохранённый в reviews.provider_id."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить отзывы индивидуального мастера","isWebhook":false,"pointer":"/paths/~1api~1review~1provider~1{providerId}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить отзывы индивидуального мастера","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает все отзывы индивидуального мастера."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"providerId"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — user id мастера ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"users.id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"), сохранённый в "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"reviews.provider_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"providerId","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"User id индивидуального мастера ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"users.id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1review~1provider~1{providerId}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/review/provider/{providerId}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"providerId","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200"],"pointer":"/api/review/provider/{providerId}","href":"otzyvy/paths/~1api~1review~1provider~1{providerid}/get","summary":"Получить отзывы индивидуального мастера"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Список отзывов индивидуального мастера"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ReviewListResponse","exampleIds":["paths/~1api~1review~1provider~1{providerId}/get/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/ReviewListResponse","exampleIds":["paths/~1api~1review~1provider~1{providerId}/get/responses/200/content/application~1json/examples/ok"]}],"pointer":"/paths/~1api~1review~1provider~1{providerId}/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/ReviewListResponse","exampleIds":["paths/~1api~1review~1provider~1{providerId}/get/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ReviewListResponse","exampleIds":["paths/~1api~1review~1provider~1{providerId}/get/responses/200/content/application~1json/examples/ok"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/otzyvy/paths/~1api~1review~1provider~1{providerid}/get"}],"panels":[]}]},"httpPath":"/api/review/provider/{providerId}"},{"label":"Получить отзывы салона","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/otzyvy/paths/~1api~1review~1salon~1{salonid}/get","routeSlug":"/openapi/otzyvy/paths/~1api~1review~1salon~1{salonid}/get","metadata":{"seo":{"title":"Получить отзывы салона","description":"Возвращает все отзывы салона по идентификатору сущности salons.id.Backend преобразует salonId в user id владельца салона и выбирает отзывы по reviews.provider_id."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить отзывы салона","isWebhook":false,"pointer":"/paths/~1api~1review~1salon~1{salonId}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить отзывы салона","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает все отзывы салона по идентификатору сущности "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"salons.id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Backend преобразует "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"salonId"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" в user id владельца салона и выбирает отзывы по "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"reviews.provider_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"salonId","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор салона ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"salons.id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1review~1salon~1{salonId}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/review/salon/{salonId}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"salonId","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200","404"],"pointer":"/api/review/salon/{salonId}","href":"otzyvy/paths/~1api~1review~1salon~1{salonid}/get","summary":"Получить отзывы салона"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Список отзывов салона, включая пустой список"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ReviewListResponse","exampleIds":["paths/~1api~1review~1salon~1{salonId}/get/responses/200/content/application~1json/examples/ok","paths/~1api~1review~1salon~1{salonId}/get/responses/200/content/application~1json/examples/empty"]}},"schemaId":"components/schemas/ReviewListResponse","exampleIds":["paths/~1api~1review~1salon~1{salonId}/get/responses/200/content/application~1json/examples/ok","paths/~1api~1review~1salon~1{salonId}/get/responses/200/content/application~1json/examples/empty"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрошенный ресурс не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1review~1salon~1{salonId}/get/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1review~1salon~1{salonId}/get/responses/404/content/application~1json/examples/not_found"]}],"pointer":"/paths/~1api~1review~1salon~1{salonId}/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/ReviewListResponse","exampleIds":["paths/~1api~1review~1salon~1{salonId}/get/responses/200/content/application~1json/examples/ok","paths/~1api~1review~1salon~1{salonId}/get/responses/200/content/application~1json/examples/empty"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ReviewListResponse","exampleIds":["paths/~1api~1review~1salon~1{salonId}/get/responses/200/content/application~1json/examples/ok","paths/~1api~1review~1salon~1{salonId}/get/responses/200/content/application~1json/examples/empty"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1review~1salon~1{salonId}/get/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1review~1salon~1{salonId}/get/responses/404/content/application~1json/examples/not_found"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/otzyvy/paths/~1api~1review~1salon~1{salonid}/get"}],"panels":[]}]},"httpPath":"/api/review/salon/{salonId}"},{"label":"Получить отзывы мастера внутри салона","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/otzyvy/paths/~1api~1review~1salon~1{salonid}~1master~1{masteruserid}/get","routeSlug":"/openapi/otzyvy/paths/~1api~1review~1salon~1{salonid}~1master~1{masteruserid}/get","metadata":{"seo":{"title":"Получить отзывы мастера внутри салона","description":"Возвращает отзывы указанного мастера только в рамках указанного салона.Фильтрация выполняется одновременно по reviews.provider_id владельца салонаи reviews.executor_id = masterUserId."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить отзывы мастера внутри салона","isWebhook":false,"pointer":"/paths/~1api~1review~1salon~1{salonId}~1master~1{masterUserId}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить отзывы мастера внутри салона","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает отзывы указанного мастера только в рамках указанного салона."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Фильтрация выполняется одновременно по "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"reviews.provider_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" владельца салона"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"reviews.executor_id = masterUserId"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"salonId","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор салона ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"salons.id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]}],"required":true},{"name":"masterUserId","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"User id мастера салона, сохранённый в "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"reviews.executor_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1review~1salon~1{salonId}~1master~1{masterUserId}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/review/salon/{salonId}/master/{masterUserId}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"salonId","in":"path","required":true,"schemaId":"schema_97"},{"name":"masterUserId","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200","404"],"pointer":"/api/review/salon/{salonId}/master/{masterUserId}","href":"otzyvy/paths/~1api~1review~1salon~1{salonid}~1master~1{masteruserid}/get","summary":"Получить отзывы мастера внутри салона"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Список отзывов мастера в указанном салоне, включая пустой список"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ReviewListResponse","exampleIds":["paths/~1api~1review~1salon~1{salonId}~1master~1{masterUserId}/get/responses/200/content/application~1json/examples/ok","paths/~1api~1review~1salon~1{salonId}~1master~1{masterUserId}/get/responses/200/content/application~1json/examples/empty"]}},"schemaId":"components/schemas/ReviewListResponse","exampleIds":["paths/~1api~1review~1salon~1{salonId}~1master~1{masterUserId}/get/responses/200/content/application~1json/examples/ok","paths/~1api~1review~1salon~1{salonId}~1master~1{masterUserId}/get/responses/200/content/application~1json/examples/empty"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Салон не найден или masterUserId не является мастером указанного салона"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"}],"pointer":"/paths/~1api~1review~1salon~1{salonId}~1master~1{masterUserId}/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/ReviewListResponse","exampleIds":["paths/~1api~1review~1salon~1{salonId}~1master~1{masterUserId}/get/responses/200/content/application~1json/examples/ok","paths/~1api~1review~1salon~1{salonId}~1master~1{masterUserId}/get/responses/200/content/application~1json/examples/empty"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ReviewListResponse","exampleIds":["paths/~1api~1review~1salon~1{salonId}~1master~1{masterUserId}/get/responses/200/content/application~1json/examples/ok","paths/~1api~1review~1salon~1{salonId}~1master~1{masterUserId}/get/responses/200/content/application~1json/examples/empty"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/otzyvy/paths/~1api~1review~1salon~1{salonid}~1master~1{masteruserid}/get"}],"panels":[]}]},"httpPath":"/api/review/salon/{salonId}/master/{masterUserId}"},{"label":"Получить отзывы по услуге","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/otzyvy/paths/~1api~1review~1service~1{service_id}/get","routeSlug":"/openapi/otzyvy/paths/~1api~1review~1service~1{service_id}/get","metadata":{"seo":{"title":"Получить отзывы по услуге","description":"Возвращает все отзывы, оставленные по записям указанной услуги."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить отзывы по услуге","isWebhook":false,"pointer":"/paths/~1api~1review~1service~1{service_id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить отзывы по услуге","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает все отзывы, оставленные по записям указанной услуги."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Отзывы выбираются через связь "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"reviews.service_record_id -> service_records.id"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"и фильтруются по "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"service_records.service_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"service_id","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор услуги."},"children":[]}]}]}],"required":true,"example":30}],"pointer":"/paths/~1api~1review~1service~1{service_id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/review/service/{service_id}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"service_id","in":"path","required":true,"example":30,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200"],"pointer":"/api/review/service/{service_id}","href":"otzyvy/paths/~1api~1review~1service~1{service_id}/get","summary":"Получить отзывы по услуге"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Список отзывов по услуге"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ReviewListResponse","exampleIds":["paths/~1api~1review~1service~1{service_id}/get/responses/200/content/application~1json/examples/ok","paths/~1api~1review~1service~1{service_id}/get/responses/200/content/application~1json/examples/empty"]}},"schemaId":"components/schemas/ReviewListResponse","exampleIds":["paths/~1api~1review~1service~1{service_id}/get/responses/200/content/application~1json/examples/ok","paths/~1api~1review~1service~1{service_id}/get/responses/200/content/application~1json/examples/empty"]}],"pointer":"/paths/~1api~1review~1service~1{service_id}/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/ReviewListResponse","exampleIds":["paths/~1api~1review~1service~1{service_id}/get/responses/200/content/application~1json/examples/ok","paths/~1api~1review~1service~1{service_id}/get/responses/200/content/application~1json/examples/empty"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ReviewListResponse","exampleIds":["paths/~1api~1review~1service~1{service_id}/get/responses/200/content/application~1json/examples/ok","paths/~1api~1review~1service~1{service_id}/get/responses/200/content/application~1json/examples/empty"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/otzyvy/paths/~1api~1review~1service~1{service_id}/get"}],"panels":[]}]},"httpPath":"/api/review/service/{service_id}"},{"label":"Получить отзывы по записи","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/otzyvy/paths/~1api~1review~1record~1{id}/get","routeSlug":"/openapi/otzyvy/paths/~1api~1review~1record~1{id}/get","metadata":{"seo":{"title":"Получить отзывы по записи","description":"Возвращает все отзывы, оставленные по указанной записи."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить отзывы по записи","isWebhook":false,"pointer":"/paths/~1api~1review~1record~1{id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить отзывы по записи","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает все отзывы, оставленные по указанной записи."},"children":[]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор записи ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"service_record_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1review~1record~1{id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/review/record/{id}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200"],"pointer":"/api/review/record/{id}","href":"otzyvy/paths/~1api~1review~1record~1{id}/get","summary":"Получить отзывы по записи"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Список отзывов по записи"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ReviewListResponse","exampleIds":["paths/~1api~1review~1record~1{id}/get/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/ReviewListResponse","exampleIds":["paths/~1api~1review~1record~1{id}/get/responses/200/content/application~1json/examples/ok"]}],"pointer":"/paths/~1api~1review~1record~1{id}/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/ReviewListResponse","exampleIds":["paths/~1api~1review~1record~1{id}/get/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ReviewListResponse","exampleIds":["paths/~1api~1review~1record~1{id}/get/responses/200/content/application~1json/examples/ok"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/otzyvy/paths/~1api~1review~1record~1{id}/get"}],"panels":[]}]},"httpPath":"/api/review/record/{id}"},{"label":"Получить отзыв по идентификатору","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/otzyvy/paths/~1api~1review~1{id}/get","routeSlug":"/openapi/otzyvy/paths/~1api~1review~1{id}/get","metadata":{"seo":{"title":"Получить отзыв по идентификатору","description":"Возвращает один отзыв по его идентификатору."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить отзыв по идентификатору","isWebhook":false,"pointer":"/paths/~1api~1review~1{id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить отзыв по идентификатору","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает один отзыв по его идентификатору."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возможные ошибки:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"404 not_found"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - отзыв не найден"},"children":[]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор отзыва."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1review~1{id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/review/{id}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200","404"],"pointer":"/api/review/{id}","href":"otzyvy/paths/~1api~1review~1{id}/get","summary":"Получить отзыв по идентификатору"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Отзыв успешно получен"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ReviewSingleResponse","exampleIds":["paths/~1api~1review~1{id}/get/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/ReviewSingleResponse","exampleIds":["paths/~1api~1review~1{id}/get/responses/200/content/application~1json/examples/ok"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрошенный ресурс не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1review~1{id}/get/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1review~1{id}/get/responses/404/content/application~1json/examples/not_found"]}],"pointer":"/paths/~1api~1review~1{id}/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/ReviewSingleResponse","exampleIds":["paths/~1api~1review~1{id}/get/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ReviewSingleResponse","exampleIds":["paths/~1api~1review~1{id}/get/responses/200/content/application~1json/examples/ok"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1review~1{id}/get/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1review~1{id}/get/responses/404/content/application~1json/examples/not_found"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/otzyvy/paths/~1api~1review~1{id}/get"}],"panels":[]}]},"httpPath":"/api/review/{id}"},{"label":"Изменить свой отзыв","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/otzyvy/paths/~1api~1review~1{id}/patch","routeSlug":"/openapi/otzyvy/paths/~1api~1review~1{id}/patch","metadata":{"seo":{"title":"Изменить свой отзыв","description":"Частично обновляет только переданные поля собственного отзыва."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Изменить свой отзыв","isWebhook":false,"pointer":"/paths/~1api~1review~1{id}/patch","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Изменить свой отзыв","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Частично обновляет только переданные поля собственного отзыва."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/UpdateReviewRequest"}},"schemaId":"components/schemas/UpdateReviewRequest","pointer":"/paths/~1api~1review~1{id}/patch/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PATCH","path":"/api/review/{id}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/UpdateReviewRequest"}},"responseCodes":["200","400","401","403","404"],"pointer":"/api/review/{id}","href":"otzyvy/paths/~1api~1review~1{id}/patch","summary":"Изменить свой отзыв","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/UpdateReviewRequest","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/UpdateReviewRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Отзыв обновлён"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ReviewSingleResponse"}},"schemaId":"components/schemas/ReviewSingleResponse"},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1review~1{id}/patch/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1review~1{id}/patch/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1review~1{id}/patch/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1review~1{id}/patch/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1review~1{id}/patch/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1review~1{id}/patch/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1review~1{id}/patch/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1review~1{id}/patch/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1review~1{id}/patch/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1review~1{id}/patch/responses/403/content/application~1json/examples/forbidden"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрошенный ресурс не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1review~1{id}/patch/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1review~1{id}/patch/responses/404/content/application~1json/examples/not_found"]}],"pointer":"/paths/~1api~1review~1{id}/patch/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/ReviewSingleResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ReviewSingleResponse"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1review~1{id}/patch/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1review~1{id}/patch/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1review~1{id}/patch/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1review~1{id}/patch/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1review~1{id}/patch/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1review~1{id}/patch/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1review~1{id}/patch/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1review~1{id}/patch/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1review~1{id}/patch/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1review~1{id}/patch/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1review~1{id}/patch/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1review~1{id}/patch/responses/404/content/application~1json/examples/not_found"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/otzyvy/paths/~1api~1review~1{id}/patch"}],"panels":[]}]},"httpPath":"/api/review/{id}"},{"label":"Удалить свой отзыв","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/otzyvy/paths/~1api~1review~1{id}/delete","routeSlug":"/openapi/otzyvy/paths/~1api~1review~1{id}/delete","metadata":{"seo":{"title":"Удалить свой отзыв","description":"Удаляет только отзыв текущего пользователя."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Удалить свой отзыв","isWebhook":false,"pointer":"/paths/~1api~1review~1{id}/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Удалить свой отзыв","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Удаляет только отзыв текущего пользователя."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/api/review/{id}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","401","403","404"],"pointer":"/api/review/{id}","href":"otzyvy/paths/~1api~1review~1{id}/delete","summary":"Удалить свой отзыв","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Отзыв удалён"},"children":[]}]}]}]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1review~1{id}/delete/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1review~1{id}/delete/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1review~1{id}/delete/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1review~1{id}/delete/responses/403/content/application~1json/examples/forbidden"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрошенный ресурс не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1review~1{id}/delete/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1review~1{id}/delete/responses/404/content/application~1json/examples/not_found"]}],"pointer":"/paths/~1api~1review~1{id}/delete/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200"},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1review~1{id}/delete/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1review~1{id}/delete/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1review~1{id}/delete/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1review~1{id}/delete/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1review~1{id}/delete/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1review~1{id}/delete/responses/404/content/application~1json/examples/not_found"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/otzyvy/paths/~1api~1review~1{id}/delete"}],"panels":[]}]},"httpPath":"/api/review/{id}"},{"label":"Проверить возможность оставить отзыв","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/otzyvy/paths/~1api~1review~1record~1{id}~1eligibility/get","routeSlug":"/openapi/otzyvy/paths/~1api~1review~1record~1{id}~1eligibility/get","metadata":{"seo":{"title":"Проверить возможность оставить отзыв","description":"Возвращает причину недоступности, момент окончания 30-дневного cooldown и количество оставшихся дней."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Проверить возможность оставить отзыв","isWebhook":false,"pointer":"/paths/~1api~1review~1record~1{id}~1eligibility/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Проверить возможность оставить отзыв","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает причину недоступности, момент окончания 30-дневного cooldown и количество оставшихся дней."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_97","required":true}],"pointer":"/paths/~1api~1review~1record~1{id}~1eligibility/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/review/record/{id}/eligibility","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","401","403","404"],"pointer":"/api/review/record/{id}/eligibility","href":"otzyvy/paths/~1api~1review~1record~1{id}~1eligibility/get","summary":"Проверить возможность оставить отзыв","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Результат проверки"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_173"}},"schemaId":"schema_173"},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1review~1record~1{id}~1eligibility/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1review~1record~1{id}~1eligibility/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1review~1record~1{id}~1eligibility/get/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1review~1record~1{id}~1eligibility/get/responses/403/content/application~1json/examples/forbidden"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрошенный ресурс не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1review~1record~1{id}~1eligibility/get/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1review~1record~1{id}~1eligibility/get/responses/404/content/application~1json/examples/not_found"]}],"pointer":"/paths/~1api~1review~1record~1{id}~1eligibility/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_173","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_173"}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1review~1record~1{id}~1eligibility/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1review~1record~1{id}~1eligibility/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1review~1record~1{id}~1eligibility/get/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1review~1record~1{id}~1eligibility/get/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1review~1record~1{id}~1eligibility/get/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1review~1record~1{id}~1eligibility/get/responses/404/content/application~1json/examples/not_found"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/otzyvy/paths/~1api~1review~1record~1{id}~1eligibility/get"}],"panels":[]}]},"httpPath":"/api/review/record/{id}/eligibility"}],"content":{"contentType":"group","meta":{"name":"Отзывы"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Отзывы","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Создание и получение отзывов о завершённых записях."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/api/review","summary":"Создать отзыв по завершённой записи","prefix":{"name":"post","color":"post"},"badges":[],"link":"/otzyvy/paths/~1api~1review/post","deprecated":false},{"title":"/api/review/user","summary":"Получить отзывы текущего пользователя","prefix":{"name":"get","color":"get"},"badges":[],"link":"/otzyvy/paths/~1api~1review~1user/get","deprecated":false},{"title":"/api/review/provider/{providerId}","summary":"Получить отзывы индивидуального мастера","prefix":{"name":"get","color":"get"},"badges":[],"link":"/otzyvy/paths/~1api~1review~1provider~1{providerid}/get","deprecated":false},{"title":"/api/review/salon/{salonId}","summary":"Получить отзывы салона","prefix":{"name":"get","color":"get"},"badges":[],"link":"/otzyvy/paths/~1api~1review~1salon~1{salonid}/get","deprecated":false},{"title":"/api/review/salon/{salonId}/master/{masterUserId}","summary":"Получить отзывы мастера внутри салона","prefix":{"name":"get","color":"get"},"badges":[],"link":"/otzyvy/paths/~1api~1review~1salon~1{salonid}~1master~1{masteruserid}/get","deprecated":false},{"title":"/api/review/service/{service_id}","summary":"Получить отзывы по услуге","prefix":{"name":"get","color":"get"},"badges":[],"link":"/otzyvy/paths/~1api~1review~1service~1{service_id}/get","deprecated":false},{"title":"/api/review/record/{id}","summary":"Получить отзывы по записи","prefix":{"name":"get","color":"get"},"badges":[],"link":"/otzyvy/paths/~1api~1review~1record~1{id}/get","deprecated":false},{"title":"/api/review/{id}","summary":"Получить отзыв по идентификатору","prefix":{"name":"get","color":"get"},"badges":[],"link":"/otzyvy/paths/~1api~1review~1{id}/get","deprecated":false},{"title":"/api/review/{id}","summary":"Изменить свой отзыв","prefix":{"name":"patch","color":"patch"},"badges":[],"link":"/otzyvy/paths/~1api~1review~1{id}/patch","deprecated":false},{"title":"/api/review/{id}","summary":"Удалить свой отзыв","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/otzyvy/paths/~1api~1review~1{id}/delete","deprecated":false},{"title":"/api/review/record/{id}/eligibility","summary":"Проверить возможность оставить отзыв","prefix":{"name":"get","color":"get"},"badges":[],"link":"/otzyvy/paths/~1api~1review~1record~1{id}~1eligibility/get","deprecated":false}]}]}]}]}},{"type":"group","label":"Блог","link":"/openapi/blog","routeSlug":"/openapi/blog","items":[{"label":"Получить свои посты","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/blog/paths/~1api~1blog/get","routeSlug":"/openapi/blog/paths/~1api~1blog/get","metadata":{"seo":{"title":"Получить свои посты","description":"Возвращает список постов текущего авторизованного пользователя."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить свои посты","isWebhook":false,"pointer":"/paths/~1api~1blog/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить свои посты","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает список постов текущего авторизованного пользователя."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/blog","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","401"],"pointer":"/api/blog","href":"blog/paths/~1api~1blog/get","summary":"Получить свои посты","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Список постов успешно получен"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/PostListResponse","exampleIds":["paths/~1api~1blog/get/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/PostListResponse","exampleIds":["paths/~1api~1blog/get/responses/200/content/application~1json/examples/ok"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1blog/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1blog/get/responses/401/content/application~1json/examples/unauthorized"]}],"pointer":"/paths/~1api~1blog/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/PostListResponse","exampleIds":["paths/~1api~1blog/get/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/PostListResponse","exampleIds":["paths/~1api~1blog/get/responses/200/content/application~1json/examples/ok"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1blog/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1blog/get/responses/401/content/application~1json/examples/unauthorized"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/blog/paths/~1api~1blog/get"}],"panels":[]}]},"httpPath":"/api/blog"},{"label":"Создать пост","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/blog/paths/~1api~1blog/post","routeSlug":"/openapi/blog/paths/~1api~1blog/post","metadata":{"seo":{"title":"Создать пост","description":"Создаёт новый пост текущего пользователя."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Создать пост","isWebhook":false,"pointer":"/paths/~1api~1blog/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Создать пост","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Создаёт новый пост текущего пользователя."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Правила валидации:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"text"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" обязателен, не пустой, максимум 2000 символов"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"title"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" обязателен, не пустой, максимум 150 символов"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"images"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" должен содержать от 1 до 10 положительных ID файлов"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"tag"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" обязателен, не пустой, максимум 30 символов"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"role "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"MASTER"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or role "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SALON"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is required"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"for role "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SALON"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", owner can write; admin needs "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SALON_PAGE_EDIT"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"все файлы из "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"images"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" должны быть доступны текущему пользователю и иметь purpose "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"BLOG"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/CreatePostRequest","exampleIds":["paths/~1api~1blog/post/requestBody/content/application~1json/examples/example"]}},"schemaId":"components/schemas/CreatePostRequest","exampleIds":["paths/~1api~1blog/post/requestBody/content/application~1json/examples/example"],"pointer":"/paths/~1api~1blog/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/blog","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/CreatePostRequest","exampleIds":["paths/~1api~1blog/post/requestBody/content/application~1json/examples/example"]}},"responseCodes":["200","400","401","403"],"pointer":"/api/blog","href":"blog/paths/~1api~1blog/post","summary":"Создать пост","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/CreatePostRequest","exampleIds":["paths/~1api~1blog/post/requestBody/content/application~1json/examples/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/CreatePostRequest","exampleIds":["paths/~1api~1blog/post/requestBody/content/application~1json/examples/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Пост успешно создан"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/PostSingleResponse","exampleIds":["paths/~1api~1blog/post/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/PostSingleResponse","exampleIds":["paths/~1api~1blog/post/responses/200/content/application~1json/examples/ok"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1blog/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1blog/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1blog/post/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1blog/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1blog/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1blog/post/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1blog/post/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1blog/post/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1blog/post/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1blog/post/responses/403/content/application~1json/examples/forbidden"]}],"pointer":"/paths/~1api~1blog/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/PostSingleResponse","exampleIds":["paths/~1api~1blog/post/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/PostSingleResponse","exampleIds":["paths/~1api~1blog/post/responses/200/content/application~1json/examples/ok"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1blog/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1blog/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1blog/post/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1blog/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1blog/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1blog/post/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1blog/post/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1blog/post/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1blog/post/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1blog/post/responses/403/content/application~1json/examples/forbidden"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/blog/paths/~1api~1blog/post"}],"panels":[]}]},"httpPath":"/api/blog"},{"label":"Получить пост по id","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/blog/paths/~1api~1blog~1{id}/get","routeSlug":"/openapi/blog/paths/~1api~1blog~1{id}/get","metadata":{"seo":{"title":"Получить пост по id","description":"Возвращает один пост по его идентификатору."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить пост по id","isWebhook":false,"pointer":"/paths/~1api~1blog~1{id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить пост по id","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает один пост по его идентификатору."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор поста"},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1blog~1{id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/blog/{id}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","401","404"],"pointer":"/api/blog/{id}","href":"blog/paths/~1api~1blog~1{id}/get","summary":"Получить пост по id","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Пост успешно получен"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/PostSingleResponse","exampleIds":["paths/~1api~1blog~1{id}/get/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/PostSingleResponse","exampleIds":["paths/~1api~1blog~1{id}/get/responses/200/content/application~1json/examples/ok"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1blog~1{id}/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1blog~1{id}/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрошенный ресурс не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1blog~1{id}/get/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1blog~1{id}/get/responses/404/content/application~1json/examples/not_found"]}],"pointer":"/paths/~1api~1blog~1{id}/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/PostSingleResponse","exampleIds":["paths/~1api~1blog~1{id}/get/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/PostSingleResponse","exampleIds":["paths/~1api~1blog~1{id}/get/responses/200/content/application~1json/examples/ok"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1blog~1{id}/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1blog~1{id}/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1blog~1{id}/get/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1blog~1{id}/get/responses/404/content/application~1json/examples/not_found"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/blog/paths/~1api~1blog~1{id}/get"}],"panels":[]}]},"httpPath":"/api/blog/{id}"},{"label":"Обновить пост","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/blog/paths/~1api~1blog~1{id}/patch","routeSlug":"/openapi/blog/paths/~1api~1blog~1{id}/patch","metadata":{"seo":{"title":"Обновить пост","description":"Частично обновляет пост по его идентификатору."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Обновить пост","isWebhook":false,"pointer":"/paths/~1api~1blog~1{id}/patch","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Обновить пост","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Частично обновляет пост по его идентификатору."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Правила валидации:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"хотя бы одно поле должно быть заполнено корректно"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"text"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если передан, не должен быть пустым и не должен быть длиннее 2000 символов"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"title"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если передан, не должен быть пустым и не должен быть длиннее 150 символов"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"images"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если передан, должен содержать от 1 до 10 уникальных положительных ID файлов"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"tag"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если передан, не должен быть пустым и не должен быть длиннее 30 символов"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"role "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"MASTER"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or role "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SALON"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is required"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"for role "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SALON"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", owner can write; admin needs "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SALON_PAGE_EDIT"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"пользователь должен иметь доступ к посту"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"если передан "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"images"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", все файлы должны быть доступны текущему пользователю и иметь purpose "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"BLOG"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор поста"},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1blog~1{id}/patch/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/UpdatePostRequest","exampleIds":["paths/~1api~1blog~1{id}/patch/requestBody/content/application~1json/examples/changeText","paths/~1api~1blog~1{id}/patch/requestBody/content/application~1json/examples/replaceImages","paths/~1api~1blog~1{id}/patch/requestBody/content/application~1json/examples/replaceTag"]}},"schemaId":"components/schemas/UpdatePostRequest","exampleIds":["paths/~1api~1blog~1{id}/patch/requestBody/content/application~1json/examples/changeText","paths/~1api~1blog~1{id}/patch/requestBody/content/application~1json/examples/replaceImages","paths/~1api~1blog~1{id}/patch/requestBody/content/application~1json/examples/replaceTag"],"pointer":"/paths/~1api~1blog~1{id}/patch/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PATCH","path":"/api/blog/{id}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/UpdatePostRequest","exampleIds":["paths/~1api~1blog~1{id}/patch/requestBody/content/application~1json/examples/changeText","paths/~1api~1blog~1{id}/patch/requestBody/content/application~1json/examples/replaceImages","paths/~1api~1blog~1{id}/patch/requestBody/content/application~1json/examples/replaceTag"]}},"responseCodes":["200","400","401","403","404"],"pointer":"/api/blog/{id}","href":"blog/paths/~1api~1blog~1{id}/patch","summary":"Обновить пост","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/UpdatePostRequest","exampleIds":["paths/~1api~1blog~1{id}/patch/requestBody/content/application~1json/examples/changeText","paths/~1api~1blog~1{id}/patch/requestBody/content/application~1json/examples/replaceImages","paths/~1api~1blog~1{id}/patch/requestBody/content/application~1json/examples/replaceTag"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/UpdatePostRequest","exampleIds":["paths/~1api~1blog~1{id}/patch/requestBody/content/application~1json/examples/changeText","paths/~1api~1blog~1{id}/patch/requestBody/content/application~1json/examples/replaceImages","paths/~1api~1blog~1{id}/patch/requestBody/content/application~1json/examples/replaceTag"]}},"examples":[{},{},{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Пост успешно обработан"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/PostUpdateResponse","exampleIds":["paths/~1api~1blog~1{id}/patch/responses/200/content/application~1json/examples/changed","paths/~1api~1blog~1{id}/patch/responses/200/content/application~1json/examples/unchanged"]}},"schemaId":"components/schemas/PostUpdateResponse","exampleIds":["paths/~1api~1blog~1{id}/patch/responses/200/content/application~1json/examples/changed","paths/~1api~1blog~1{id}/patch/responses/200/content/application~1json/examples/unchanged"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1blog~1{id}/patch/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1blog~1{id}/patch/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1blog~1{id}/patch/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1blog~1{id}/patch/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1blog~1{id}/patch/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1blog~1{id}/patch/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1blog~1{id}/patch/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1blog~1{id}/patch/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1blog~1{id}/patch/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1blog~1{id}/patch/responses/403/content/application~1json/examples/forbidden"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрошенный ресурс не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1blog~1{id}/patch/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1blog~1{id}/patch/responses/404/content/application~1json/examples/not_found"]}],"pointer":"/paths/~1api~1blog~1{id}/patch/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/PostUpdateResponse","exampleIds":["paths/~1api~1blog~1{id}/patch/responses/200/content/application~1json/examples/changed","paths/~1api~1blog~1{id}/patch/responses/200/content/application~1json/examples/unchanged"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/PostUpdateResponse","exampleIds":["paths/~1api~1blog~1{id}/patch/responses/200/content/application~1json/examples/changed","paths/~1api~1blog~1{id}/patch/responses/200/content/application~1json/examples/unchanged"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1blog~1{id}/patch/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1blog~1{id}/patch/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1blog~1{id}/patch/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1blog~1{id}/patch/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1blog~1{id}/patch/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1blog~1{id}/patch/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1blog~1{id}/patch/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1blog~1{id}/patch/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1blog~1{id}/patch/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1blog~1{id}/patch/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1blog~1{id}/patch/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1blog~1{id}/patch/responses/404/content/application~1json/examples/not_found"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/blog/paths/~1api~1blog~1{id}/patch"}],"panels":[]}]},"httpPath":"/api/blog/{id}"},{"label":"Удалить пост","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/blog/paths/~1api~1blog~1{id}/delete","routeSlug":"/openapi/blog/paths/~1api~1blog~1{id}/delete","metadata":{"seo":{"title":"Удалить пост","description":"Удаляет пост по его идентификатору."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Удалить пост","isWebhook":false,"pointer":"/paths/~1api~1blog~1{id}/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Удалить пост","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Удаляет пост по его идентификатору."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"role "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"MASTER"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or role "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SALON"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is required"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"for role "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SALON"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", owner can write; admin needs "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SALON_PAGE_EDIT"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"пользователь должен иметь доступ к посту"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор поста"},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1blog~1{id}/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/api/blog/{id}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403","404"],"pointer":"/api/blog/{id}","href":"blog/paths/~1api~1blog~1{id}/delete","summary":"Удалить пост","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Пост успешно удален"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1blog~1{id}/delete/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1blog~1{id}/delete/responses/200/content/application~1json/examples/ok"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1blog~1{id}/delete/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1blog~1{id}/delete/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1blog~1{id}/delete/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1blog~1{id}/delete/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1blog~1{id}/delete/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1blog~1{id}/delete/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1blog~1{id}/delete/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1blog~1{id}/delete/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1blog~1{id}/delete/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1blog~1{id}/delete/responses/403/content/application~1json/examples/forbidden"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрошенный ресурс не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1blog~1{id}/delete/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1blog~1{id}/delete/responses/404/content/application~1json/examples/not_found"]}],"pointer":"/paths/~1api~1blog~1{id}/delete/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1blog~1{id}/delete/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SuccessNullResponse","exampleIds":["paths/~1api~1blog~1{id}/delete/responses/200/content/application~1json/examples/ok"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1blog~1{id}/delete/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1blog~1{id}/delete/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1blog~1{id}/delete/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1blog~1{id}/delete/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1blog~1{id}/delete/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1blog~1{id}/delete/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1blog~1{id}/delete/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1blog~1{id}/delete/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1blog~1{id}/delete/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1blog~1{id}/delete/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1blog~1{id}/delete/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1blog~1{id}/delete/responses/404/content/application~1json/examples/not_found"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/blog/paths/~1api~1blog~1{id}/delete"}],"panels":[]}]},"httpPath":"/api/blog/{id}"},{"label":"Получить посты салона","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/blog/paths/~1api~1blog~1salon~1{salonid}/get","routeSlug":"/openapi/blog/paths/~1api~1blog~1salon~1{salonid}/get","metadata":{"seo":{"title":"Получить посты салона","description":"Возвращает список постов салона."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить посты салона","isWebhook":false,"pointer":"/paths/~1api~1blog~1salon~1{salonId}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить посты салона","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает список постов салона."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Эндпоинт находит владельца салона по "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"salonId"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и возвращает посты, где "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"posts.user_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" равен "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"salon.owner.user_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"salonId","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор салона"},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1blog~1salon~1{salonId}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/blog/salon/{salonId}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"salonId","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","404"],"pointer":"/api/blog/salon/{salonId}","href":"blog/paths/~1api~1blog~1salon~1{salonid}/get","summary":"Получить посты салона","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Список постов салона успешно получен"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/PostListResponse","exampleIds":["paths/~1api~1blog~1salon~1{salonId}/get/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/PostListResponse","exampleIds":["paths/~1api~1blog~1salon~1{salonId}/get/responses/200/content/application~1json/examples/ok"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1blog~1salon~1{salonId}/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1blog~1salon~1{salonId}/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1blog~1salon~1{salonId}/get/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1blog~1salon~1{salonId}/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1blog~1salon~1{salonId}/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1blog~1salon~1{salonId}/get/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1blog~1salon~1{salonId}/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1blog~1salon~1{salonId}/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрошенный ресурс не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1blog~1salon~1{salonId}/get/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1blog~1salon~1{salonId}/get/responses/404/content/application~1json/examples/not_found"]}],"pointer":"/paths/~1api~1blog~1salon~1{salonId}/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/PostListResponse","exampleIds":["paths/~1api~1blog~1salon~1{salonId}/get/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/PostListResponse","exampleIds":["paths/~1api~1blog~1salon~1{salonId}/get/responses/200/content/application~1json/examples/ok"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1blog~1salon~1{salonId}/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1blog~1salon~1{salonId}/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1blog~1salon~1{salonId}/get/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1blog~1salon~1{salonId}/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1blog~1salon~1{salonId}/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1blog~1salon~1{salonId}/get/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1blog~1salon~1{salonId}/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1blog~1salon~1{salonId}/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1blog~1salon~1{salonId}/get/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1blog~1salon~1{salonId}/get/responses/404/content/application~1json/examples/not_found"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/blog/paths/~1api~1blog~1salon~1{salonid}/get"}],"panels":[]}]},"httpPath":"/api/blog/salon/{salonId}"},{"label":"Получить посты пользователя","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/blog/paths/~1api~1blog~1master~1{userid}/get","routeSlug":"/openapi/blog/paths/~1api~1blog~1master~1{userid}/get","metadata":{"seo":{"title":"Получить посты пользователя","description":"Возвращает список постов указанного пользователя."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить посты пользователя","isWebhook":false,"pointer":"/paths/~1api~1blog~1master~1{userId}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить посты пользователя","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает список постов указанного пользователя."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"userId","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор пользователя"},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1blog~1master~1{userId}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/blog/master/{userId}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"userId","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","401"],"pointer":"/api/blog/master/{userId}","href":"blog/paths/~1api~1blog~1master~1{userid}/get","summary":"Получить посты пользователя","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Список постов успешно получен"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/PostListResponse","exampleIds":["paths/~1api~1blog~1master~1{userId}/get/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/PostListResponse","exampleIds":["paths/~1api~1blog~1master~1{userId}/get/responses/200/content/application~1json/examples/ok"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1blog~1master~1{userId}/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1blog~1master~1{userId}/get/responses/401/content/application~1json/examples/unauthorized"]}],"pointer":"/paths/~1api~1blog~1master~1{userId}/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/PostListResponse","exampleIds":["paths/~1api~1blog~1master~1{userId}/get/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/PostListResponse","exampleIds":["paths/~1api~1blog~1master~1{userId}/get/responses/200/content/application~1json/examples/ok"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1blog~1master~1{userId}/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1blog~1master~1{userId}/get/responses/401/content/application~1json/examples/unauthorized"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/blog/paths/~1api~1blog~1master~1{userid}/get"}],"panels":[]}]},"httpPath":"/api/blog/master/{userId}"}],"content":{"contentType":"group","meta":{"name":"Блог"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Блог","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Создание, редактирование и получение постов."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/api/blog","summary":"Получить свои посты","prefix":{"name":"get","color":"get"},"badges":[],"link":"/blog/paths/~1api~1blog/get","deprecated":false},{"title":"/api/blog","summary":"Создать пост","prefix":{"name":"post","color":"post"},"badges":[],"link":"/blog/paths/~1api~1blog/post","deprecated":false},{"title":"/api/blog/{id}","summary":"Получить пост по id","prefix":{"name":"get","color":"get"},"badges":[],"link":"/blog/paths/~1api~1blog~1{id}/get","deprecated":false},{"title":"/api/blog/{id}","summary":"Обновить пост","prefix":{"name":"patch","color":"patch"},"badges":[],"link":"/blog/paths/~1api~1blog~1{id}/patch","deprecated":false},{"title":"/api/blog/{id}","summary":"Удалить пост","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/blog/paths/~1api~1blog~1{id}/delete","deprecated":false},{"title":"/api/blog/salon/{salonId}","summary":"Получить посты салона","prefix":{"name":"get","color":"get"},"badges":[],"link":"/blog/paths/~1api~1blog~1salon~1{salonid}/get","deprecated":false},{"title":"/api/blog/master/{userId}","summary":"Получить посты пользователя","prefix":{"name":"get","color":"get"},"badges":[],"link":"/blog/paths/~1api~1blog~1master~1{userid}/get","deprecated":false}]}]}]}]}},{"type":"group","label":"Избранное","link":"/openapi/izbrannoe","routeSlug":"/openapi/izbrannoe","items":[{"label":"Получить избранное по типу","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/izbrannoe/paths/~1api~1favorites/get","routeSlug":"/openapi/izbrannoe/paths/~1api~1favorites/get","metadata":{"seo":{"title":"Получить избранное по типу","description":"Возвращает список избранных сущностей текущего пользователя по выбранному типу."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить избранное по типу","isWebhook":false,"pointer":"/paths/~1api~1favorites/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить избранное по типу","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает список избранных сущностей текущего пользователя по выбранному типу."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Формат элементов в "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"data"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" зависит от значения "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"type_favorite"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"type_favorite"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" обязателен"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"type_favorite","in":"query","schemaId":"schema_174","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Тип избранного, который нужно получить."},"children":[]}]}]}],"required":true,"example":"MASTER"}],"pointer":"/paths/~1api~1favorites/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/favorites","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[{"name":"type_favorite","in":"query","required":true,"example":"MASTER","schemaId":"components/schemas/TypeFavorite"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401"],"pointer":"/api/favorites","href":"izbrannoe/paths/~1api~1favorites/get","summary":"Получить избранное по типу","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Список избранного успешно получен"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/FavoritePreviewListResponse","exampleIds":["paths/~1api~1favorites/get/responses/200/content/application~1json/examples/masters","paths/~1api~1favorites/get/responses/200/content/application~1json/examples/chats","paths/~1api~1favorites/get/responses/200/content/application~1json/examples/empty"]}},"schemaId":"components/schemas/FavoritePreviewListResponse","exampleIds":["paths/~1api~1favorites/get/responses/200/content/application~1json/examples/masters","paths/~1api~1favorites/get/responses/200/content/application~1json/examples/chats","paths/~1api~1favorites/get/responses/200/content/application~1json/examples/empty"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1favorites/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1favorites/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1favorites/get/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1favorites/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1favorites/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1favorites/get/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1favorites/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1favorites/get/responses/401/content/application~1json/examples/unauthorized"]}],"pointer":"/paths/~1api~1favorites/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/FavoritePreviewListResponse","exampleIds":["paths/~1api~1favorites/get/responses/200/content/application~1json/examples/masters","paths/~1api~1favorites/get/responses/200/content/application~1json/examples/chats","paths/~1api~1favorites/get/responses/200/content/application~1json/examples/empty"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/FavoritePreviewListResponse","exampleIds":["paths/~1api~1favorites/get/responses/200/content/application~1json/examples/masters","paths/~1api~1favorites/get/responses/200/content/application~1json/examples/chats","paths/~1api~1favorites/get/responses/200/content/application~1json/examples/empty"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1favorites/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1favorites/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1favorites/get/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1favorites/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1favorites/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1favorites/get/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1favorites/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1favorites/get/responses/401/content/application~1json/examples/unauthorized"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/izbrannoe/paths/~1api~1favorites/get"}],"panels":[]}]},"httpPath":"/api/favorites"},{"label":"Добавить в избранное","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/izbrannoe/paths/~1api~1favorites/post","routeSlug":"/openapi/izbrannoe/paths/~1api~1favorites/post","metadata":{"seo":{"title":"Добавить в избранное","description":"Добавляет сущность выбранного типа в избранное текущего пользователя."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Добавить в избранное","isWebhook":false,"pointer":"/paths/~1api~1favorites/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Добавить в избранное","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Добавляет сущность выбранного типа в избранное текущего пользователя."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"type_favorite"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" обязателен"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"source_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" должен быть положительным идентификатором существующей сущности"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"для "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CHAT"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" текущий пользователь должен иметь доступ к диалогу"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/AddToFavoriteRequest","exampleIds":["paths/~1api~1favorites/post/requestBody/content/application~1json/examples/service","paths/~1api~1favorites/post/requestBody/content/application~1json/examples/chat"]}},"schemaId":"components/schemas/AddToFavoriteRequest","exampleIds":["paths/~1api~1favorites/post/requestBody/content/application~1json/examples/service","paths/~1api~1favorites/post/requestBody/content/application~1json/examples/chat"],"pointer":"/paths/~1api~1favorites/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/favorites","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/AddToFavoriteRequest","exampleIds":["paths/~1api~1favorites/post/requestBody/content/application~1json/examples/service","paths/~1api~1favorites/post/requestBody/content/application~1json/examples/chat"]}},"responseCodes":["201","400","401","403","404"],"pointer":"/api/favorites","href":"izbrannoe/paths/~1api~1favorites/post","summary":"Добавить в избранное","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/AddToFavoriteRequest","exampleIds":["paths/~1api~1favorites/post/requestBody/content/application~1json/examples/service","paths/~1api~1favorites/post/requestBody/content/application~1json/examples/chat"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/AddToFavoriteRequest","exampleIds":["paths/~1api~1favorites/post/requestBody/content/application~1json/examples/service","paths/~1api~1favorites/post/requestBody/content/application~1json/examples/chat"]}},"examples":[{},{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Сущность успешно добавлена в избранное"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/FavoriteSingleResponse","exampleIds":["paths/~1api~1favorites/post/responses/201/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/FavoriteSingleResponse","exampleIds":["paths/~1api~1favorites/post/responses/201/content/application~1json/examples/ok"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1favorites/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1favorites/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1favorites/post/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1favorites/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1favorites/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1favorites/post/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1favorites/post/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1favorites/post/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1favorites/post/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1favorites/post/responses/403/content/application~1json/examples/forbidden"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрошенный ресурс не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1favorites/post/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1favorites/post/responses/404/content/application~1json/examples/not_found"]}],"pointer":"/paths/~1api~1favorites/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"201","schemaId":"components/schemas/FavoriteSingleResponse","exampleIds":["paths/~1api~1favorites/post/responses/201/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/FavoriteSingleResponse","exampleIds":["paths/~1api~1favorites/post/responses/201/content/application~1json/examples/ok"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1favorites/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1favorites/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1favorites/post/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1favorites/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1favorites/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1favorites/post/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1favorites/post/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1favorites/post/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1favorites/post/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1favorites/post/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1favorites/post/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1favorites/post/responses/404/content/application~1json/examples/not_found"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/izbrannoe/paths/~1api~1favorites/post"}],"panels":[]}]},"httpPath":"/api/favorites"}],"content":{"contentType":"group","meta":{"name":"Избранное"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Избранное","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Добавление в избранное и получение preview-списков избранного."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/api/favorites","summary":"Получить избранное по типу","prefix":{"name":"get","color":"get"},"badges":[],"link":"/izbrannoe/paths/~1api~1favorites/get","deprecated":false},{"title":"/api/favorites","summary":"Добавить в избранное","prefix":{"name":"post","color":"post"},"badges":[],"link":"/izbrannoe/paths/~1api~1favorites/post","deprecated":false}]}]}]}]}},{"type":"group","label":"Чаты REST","link":"/openapi/chaty-rest","routeSlug":"/openapi/chaty-rest","items":[{"label":"Получить диалог по id","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/chaty-rest/paths/~1api~1dialogs~1{id}/get","routeSlug":"/openapi/chaty-rest/paths/~1api~1dialogs~1{id}/get","metadata":{"seo":{"title":"Получить диалог по id","description":"Возвращает диалог по идентификатору, если:"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить диалог по id","isWebhook":false,"pointer":"/paths/~1api~1dialogs~1{id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить диалог по id","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает диалог по идентификатору, если:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"диалог существует"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"текущий пользователь имеет к нему доступ"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор диалога"},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1dialogs~1{id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/dialogs/{id}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","403","404"],"pointer":"/api/dialogs/{id}","href":"chaty-rest/paths/~1api~1dialogs~1{id}/get","summary":"Получить диалог по id","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Диалог успешно получен"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_175","exampleIds":["paths/~1api~1dialogs~1{id}/get/responses/200/content/application~1json/examples/ok"]}},"schemaId":"schema_175","exampleIds":["paths/~1api~1dialogs~1{id}/get/responses/200/content/application~1json/examples/ok"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1dialogs~1{id}/get/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1dialogs~1{id}/get/responses/403/content/application~1json/examples/forbidden"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрошенный ресурс не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1dialogs~1{id}/get/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1dialogs~1{id}/get/responses/404/content/application~1json/examples/not_found"]}],"pointer":"/paths/~1api~1dialogs~1{id}/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_175","exampleIds":["paths/~1api~1dialogs~1{id}/get/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_175","exampleIds":["paths/~1api~1dialogs~1{id}/get/responses/200/content/application~1json/examples/ok"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1dialogs~1{id}/get/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1dialogs~1{id}/get/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1dialogs~1{id}/get/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1dialogs~1{id}/get/responses/404/content/application~1json/examples/not_found"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/chaty-rest/paths/~1api~1dialogs~1{id}/get"}],"panels":[]}]},"httpPath":"/api/dialogs/{id}"},{"label":"Получить список диалогов текущего пользователя","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/chaty-rest/paths/~1api~1dialogs~1user/get","routeSlug":"/openapi/chaty-rest/paths/~1api~1dialogs~1user/get","metadata":{"seo":{"title":"Получить список диалогов текущего пользователя","description":"Возвращает все диалоги текущего пользователя. Диалог с поддержкой всегда закреплёнпервым. Если его ещё нет, при запросе создаётся пустой приватный диалог с системнымаккаунтом поддержки (id = -1) и возвращается с реальным ID диалога."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить список диалогов текущего пользователя","isWebhook":false,"pointer":"/paths/~1api~1dialogs~1user/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить список диалогов текущего пользователя","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает все диалоги текущего пользователя. Диалог с поддержкой всегда закреплён"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"первым. Если его ещё нет, при запросе создаётся пустой приватный диалог с системным"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"аккаунтом поддержки ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id = -1"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") и возвращается с реальным ID диалога."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/dialogs/user","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","403"],"pointer":"/api/dialogs/user","href":"chaty-rest/paths/~1api~1dialogs~1user/get","summary":"Получить список диалогов текущего пользователя","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Список диалогов успешно получен"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_176","exampleIds":["paths/~1api~1dialogs~1user/get/responses/200/content/application~1json/examples/ok"]}},"schemaId":"schema_176","exampleIds":["paths/~1api~1dialogs~1user/get/responses/200/content/application~1json/examples/ok"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1dialogs~1user/get/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1dialogs~1user/get/responses/403/content/application~1json/examples/forbidden"]}],"pointer":"/paths/~1api~1dialogs~1user/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_176","exampleIds":["paths/~1api~1dialogs~1user/get/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_176","exampleIds":["paths/~1api~1dialogs~1user/get/responses/200/content/application~1json/examples/ok"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1dialogs~1user/get/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1dialogs~1user/get/responses/403/content/application~1json/examples/forbidden"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/chaty-rest/paths/~1api~1dialogs~1user/get"}],"panels":[]}]},"httpPath":"/api/dialogs/user"},{"label":"Получить общий список диалогов салона","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/chaty-rest/paths/~1api~1dialogs~1salon/get","routeSlug":"/openapi/chaty-rest/paths/~1api~1dialogs~1salon/get","metadata":{"seo":{"title":"Получить общий список диалогов салона","description":"Возвращает общие диалоги салона для текущего владельца или админа салона."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить общий список диалогов салона","isWebhook":false,"pointer":"/paths/~1api~1dialogs~1salon/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить общий список диалогов салона","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает общие диалоги салона для текущего владельца или админа салона."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Диалоги физически привязаны к "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"owner_user_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" салона, поэтому владелец и админы с доступом к чату видят один общий список."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"В "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"chat_interlocutor"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" возвращается preview клиента, с которым открыт общий диалог салона."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Единый диалог салона с поддержкой всегда закреплён первым. Если его ещё нет, при"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"запросе создаётся пустой приватный диалог владельца с системным аккаунтом поддержки"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id = -1"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") и возвращается с реальным ID диалога."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"пользователь должен быть владельцем салона или админом салона"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"админ должен иметь право "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CHAT_READ"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"путь работает как "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/api/dialogs/salon"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/api/dialogs/salon/"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" не является отдельным endpoint"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/dialogs/salon","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","401","403"],"pointer":"/api/dialogs/salon","href":"chaty-rest/paths/~1api~1dialogs~1salon/get","summary":"Получить общий список диалогов салона","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Список диалогов салона успешно получен"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_176","exampleIds":["paths/~1api~1dialogs~1salon/get/responses/200/content/application~1json/examples/ok","paths/~1api~1dialogs~1salon/get/responses/200/content/application~1json/examples/empty"]}},"schemaId":"schema_176","exampleIds":["paths/~1api~1dialogs~1salon/get/responses/200/content/application~1json/examples/ok","paths/~1api~1dialogs~1salon/get/responses/200/content/application~1json/examples/empty"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1dialogs~1salon/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1dialogs~1salon/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Пользователь не является владельцем/админом салона или не имеет права "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CHAT_READ"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1dialogs~1salon/get/responses/403/content/application~1json/examples/not_salon_member","paths/~1api~1dialogs~1salon/get/responses/403/content/application~1json/examples/salon_permission_denied"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1dialogs~1salon/get/responses/403/content/application~1json/examples/not_salon_member","paths/~1api~1dialogs~1salon/get/responses/403/content/application~1json/examples/salon_permission_denied"]}],"pointer":"/paths/~1api~1dialogs~1salon/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_176","exampleIds":["paths/~1api~1dialogs~1salon/get/responses/200/content/application~1json/examples/ok","paths/~1api~1dialogs~1salon/get/responses/200/content/application~1json/examples/empty"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_176","exampleIds":["paths/~1api~1dialogs~1salon/get/responses/200/content/application~1json/examples/ok","paths/~1api~1dialogs~1salon/get/responses/200/content/application~1json/examples/empty"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1dialogs~1salon/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1dialogs~1salon/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1dialogs~1salon/get/responses/403/content/application~1json/examples/not_salon_member","paths/~1api~1dialogs~1salon/get/responses/403/content/application~1json/examples/salon_permission_denied"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1dialogs~1salon/get/responses/403/content/application~1json/examples/not_salon_member","paths/~1api~1dialogs~1salon/get/responses/403/content/application~1json/examples/salon_permission_denied"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/chaty-rest/paths/~1api~1dialogs~1salon/get"}],"panels":[]}]},"httpPath":"/api/dialogs/salon"},{"label":"Отправить сообщение в поддержку","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/chaty-rest/paths/~1api~1support~1messages~1send/post","routeSlug":"/openapi/chaty-rest/paths/~1api~1support~1messages~1send/post","metadata":{"seo":{"title":"Отправить сообщение в поддержку","description":"Создаёт приватный диалог пользователя с системным аккаунтом поддержки (id = -1)при первой отправке. Если последнее обращение закрыто, создаётся новое открытоеобращение. Для владельца и администратора салона сообщение отправляется черезединый диалог владельца: sender_id равен ID владельца, а фактический отправительсохраняется в real_sender_id. Разрешены текст, изображения и документы с purpose MESSAGE.Аудио, голосовые сообщения, видео, геолокация и реакции не поддерживаются."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Отправить сообщение в поддержку","isWebhook":false,"pointer":"/paths/~1api~1support~1messages~1send/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Отправить сообщение в поддержку","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Создаёт приватный диалог пользователя с системным аккаунтом поддержки ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id = -1"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"при первой отправке. Если последнее обращение закрыто, создаётся новое открытое"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"обращение. Для владельца и администратора салона сообщение отправляется через"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"единый диалог владельца: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"sender_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" равен ID владельца, а фактический отправитель"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"сохраняется в "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"real_sender_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Разрешены текст, изображения и документы с purpose "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"MESSAGE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Аудио, голосовые сообщения, видео, геолокация и реакции не поддерживаются."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/SupportSendMessageBody"}},"schemaId":"components/schemas/SupportSendMessageBody","pointer":"/paths/~1api~1support~1messages~1send/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/support/messages/send","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/SupportSendMessageBody"}},"responseCodes":["201","400","401","403","404"],"pointer":"/api/support/messages/send","href":"chaty-rest/paths/~1api~1support~1messages~1send/post","summary":"Отправить сообщение в поддержку","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/SupportSendMessageBody","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/SupportSendMessageBody"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Сообщение отправлено в поддержку"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SupportSendResponse"}},"schemaId":"components/schemas/SupportSendResponse"},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1support~1messages~1send/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1support~1messages~1send/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1support~1messages~1send/post/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1support~1messages~1send/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1support~1messages~1send/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1support~1messages~1send/post/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1support~1messages~1send/post/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1support~1messages~1send/post/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1support~1messages~1send/post/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1support~1messages~1send/post/responses/403/content/application~1json/examples/forbidden"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрошенный ресурс не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1support~1messages~1send/post/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1support~1messages~1send/post/responses/404/content/application~1json/examples/not_found"]}],"pointer":"/paths/~1api~1support~1messages~1send/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"201","schemaId":"components/schemas/SupportSendResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SupportSendResponse"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1support~1messages~1send/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1support~1messages~1send/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1support~1messages~1send/post/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1support~1messages~1send/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1support~1messages~1send/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1support~1messages~1send/post/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1support~1messages~1send/post/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1support~1messages~1send/post/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1support~1messages~1send/post/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1support~1messages~1send/post/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1support~1messages~1send/post/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1support~1messages~1send/post/responses/404/content/application~1json/examples/not_found"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/chaty-rest/paths/~1api~1support~1messages~1send/post"}],"panels":[]}]},"httpPath":"/api/support/messages/send"},{"label":"Ответить на вопрос о решении проблемы","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/chaty-rest/paths/~1api~1support~1chat~1resolution-response/post","routeSlug":"/openapi/chaty-rest/paths/~1api~1support~1chat~1resolution-response/post","metadata":{"seo":{"title":"Ответить на вопрос о решении проблемы","description":"Доступно только после запроса подтверждения со стороны поддержки.После принятия ответа кнопки подтверждения исчезают на всех устройствахклиента через /user/queue/support.status. При resolved = true обращениезакрывается и поддержка отправляет сообщение «Спасибо! Обращение закрыто».При resolved = false обращение остаётся открытым и поддержка отправляетсообщение «Понял. Напишите, что осталось нерешённым»."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Ответить на вопрос о решении проблемы","isWebhook":false,"pointer":"/paths/~1api~1support~1chat~1resolution-response/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Ответить на вопрос о решении проблемы","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступно только после запроса подтверждения со стороны поддержки."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"После принятия ответа кнопки подтверждения исчезают на всех устройствах"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"клиента через "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/user/queue/support.status"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". При "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"resolved = true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" обращение"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"закрывается и поддержка отправляет сообщение «Спасибо! Обращение закрыто»."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"При "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"resolved = false"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" обращение остаётся открытым и поддержка отправляет"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"сообщение «Понял. Напишите, что осталось нерешённым»."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/SupportResolutionResponseBody"}},"schemaId":"components/schemas/SupportResolutionResponseBody","pointer":"/paths/~1api~1support~1chat~1resolution-response/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/support/chat/resolution-response","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/SupportResolutionResponseBody"}},"responseCodes":["200","400","401","403","404","409"],"pointer":"/api/support/chat/resolution-response","href":"chaty-rest/paths/~1api~1support~1chat~1resolution-response/post","summary":"Ответить на вопрос о решении проблемы","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/SupportResolutionResponseBody","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/SupportResolutionResponseBody"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Ответ пользователя принят"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SupportUserChatResponse"}},"schemaId":"components/schemas/SupportUserChatResponse"},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1support~1chat~1resolution-response/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1support~1chat~1resolution-response/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1support~1chat~1resolution-response/post/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1support~1chat~1resolution-response/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1support~1chat~1resolution-response/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1support~1chat~1resolution-response/post/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1support~1chat~1resolution-response/post/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1support~1chat~1resolution-response/post/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1support~1chat~1resolution-response/post/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1support~1chat~1resolution-response/post/responses/403/content/application~1json/examples/forbidden"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрошенный ресурс не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1support~1chat~1resolution-response/post/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1support~1chat~1resolution-response/post/responses/404/content/application~1json/examples/not_found"]},{"code":"409","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрос конфликтует с текущим состоянием ресурса"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1support~1chat~1resolution-response/post/responses/409/content/application~1json/examples/conflict"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1support~1chat~1resolution-response/post/responses/409/content/application~1json/examples/conflict"]}],"pointer":"/paths/~1api~1support~1chat~1resolution-response/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/SupportUserChatResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SupportUserChatResponse"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1support~1chat~1resolution-response/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1support~1chat~1resolution-response/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1support~1chat~1resolution-response/post/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1support~1chat~1resolution-response/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1support~1chat~1resolution-response/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1support~1chat~1resolution-response/post/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1support~1chat~1resolution-response/post/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1support~1chat~1resolution-response/post/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1support~1chat~1resolution-response/post/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1support~1chat~1resolution-response/post/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1support~1chat~1resolution-response/post/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1support~1chat~1resolution-response/post/responses/404/content/application~1json/examples/not_found"]}}},{"code":"409","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1support~1chat~1resolution-response/post/responses/409/content/application~1json/examples/conflict"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1support~1chat~1resolution-response/post/responses/409/content/application~1json/examples/conflict"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/chaty-rest/paths/~1api~1support~1chat~1resolution-response/post"}],"panels":[]}]},"httpPath":"/api/support/chat/resolution-response"},{"label":"Отправить сообщение","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/chaty-rest/paths/~1api~1messages~1send/post","routeSlug":"/openapi/chaty-rest/paths/~1api~1messages~1send/post","metadata":{"seo":{"title":"Отправить сообщение","description":"Создаёт одно или несколько сообщений и возвращает список их идентификаторов."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Отправить сообщение","isWebhook":false,"pointer":"/paths/~1api~1messages~1send/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Отправить сообщение","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Создаёт одно или несколько сообщений и возвращает список их идентификаторов."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Поддерживаются два сценария:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"отправка в существующий диалог: передайте "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"dialog_id"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"отправка напрямую пользователю: передайте "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"receiver_id"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Обязательные условия:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"должен быть указан хотя бы один из параметров "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"dialog_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" или "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"receiver_id"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"должно быть заполнено хотя бы одно из полей "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"text"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" или "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"files"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"text"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если передан, не должен быть длиннее 4000 символов"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"files"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если передан, должен содержать не более 10 положительных ID файлов"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"dialog_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"receiver_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если переданы, должны быть положительными"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возможные ошибки:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"400 invalid_body"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - запрос не прошёл валидацию или бизнес-проверки"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"403 forbidden"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - нет прав на отправку сообщения или доступ к файлам"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"404 not_found"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - не найден диалог или получатель"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/SendMessageBody","exampleIds":["paths/~1api~1messages~1send/post/requestBody/content/application~1json/examples/sendToDialog","paths/~1api~1messages~1send/post/requestBody/content/application~1json/examples/sendToUser"]}},"schemaId":"components/schemas/SendMessageBody","exampleIds":["paths/~1api~1messages~1send/post/requestBody/content/application~1json/examples/sendToDialog","paths/~1api~1messages~1send/post/requestBody/content/application~1json/examples/sendToUser"],"pointer":"/paths/~1api~1messages~1send/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/messages/send","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/SendMessageBody","exampleIds":["paths/~1api~1messages~1send/post/requestBody/content/application~1json/examples/sendToDialog","paths/~1api~1messages~1send/post/requestBody/content/application~1json/examples/sendToUser"]}},"responseCodes":["201","400","403","404"],"pointer":"/api/messages/send","href":"chaty-rest/paths/~1api~1messages~1send/post","summary":"Отправить сообщение","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/SendMessageBody","exampleIds":["paths/~1api~1messages~1send/post/requestBody/content/application~1json/examples/sendToDialog","paths/~1api~1messages~1send/post/requestBody/content/application~1json/examples/sendToUser"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/SendMessageBody","exampleIds":["paths/~1api~1messages~1send/post/requestBody/content/application~1json/examples/sendToDialog","paths/~1api~1messages~1send/post/requestBody/content/application~1json/examples/sendToUser"]}},"examples":[{},{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Сообщение(я) успешно создано(ы)"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_177","exampleIds":["paths/~1api~1messages~1send/post/responses/201/content/application~1json/examples/ok"]}},"schemaId":"schema_177","exampleIds":["paths/~1api~1messages~1send/post/responses/201/content/application~1json/examples/ok"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1messages~1send/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1messages~1send/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1messages~1send/post/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1messages~1send/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1messages~1send/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1messages~1send/post/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1messages~1send/post/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1messages~1send/post/responses/403/content/application~1json/examples/forbidden"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрошенный ресурс не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1messages~1send/post/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1messages~1send/post/responses/404/content/application~1json/examples/not_found"]}],"pointer":"/paths/~1api~1messages~1send/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"201","schemaId":"schema_177","exampleIds":["paths/~1api~1messages~1send/post/responses/201/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_177","exampleIds":["paths/~1api~1messages~1send/post/responses/201/content/application~1json/examples/ok"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1messages~1send/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1messages~1send/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1messages~1send/post/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1messages~1send/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1messages~1send/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1messages~1send/post/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1messages~1send/post/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1messages~1send/post/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1messages~1send/post/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1messages~1send/post/responses/404/content/application~1json/examples/not_found"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/chaty-rest/paths/~1api~1messages~1send/post"}],"panels":[]}]},"httpPath":"/api/messages/send"},{"label":"Получить сообщения диалога","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/chaty-rest/paths/~1api~1messages/get","routeSlug":"/openapi/chaty-rest/paths/~1api~1messages/get","metadata":{"seo":{"title":"Получить сообщения диалога","description":"Возвращает сообщения диалога. Для новых клиентов рекомендуется cursor-пагинация:первый запрос выполняется с limit, последующие — с before_id, равнымnext_before_id из предыдущего ответа. Legacy-параметр offset сохранён дляобратной совместимости и не может использоваться вместе с before_id."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить сообщения диалога","isWebhook":false,"pointer":"/paths/~1api~1messages/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить сообщения диалога","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает сообщения диалога. Для новых клиентов рекомендуется cursor-пагинация:"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"первый запрос выполняется с "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"limit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", последующие — с "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"before_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", равным"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"next_before_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" из предыдущего ответа. Legacy-параметр "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"offset"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" сохранён для"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"обратной совместимости и не может использоваться вместе с "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"before_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возможные ошибки:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"400 invalid_body"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - параметры не прошли валидацию или одновременно переданы "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"offset"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"before_id"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"403 forbidden"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - нет доступа к диалогу"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"404 not_found"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - диалог не найден"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"id_dialog","in":"query","schemaId":"schema_97","required":true,"example":10},{"name":"offset","in":"query","schemaId":"schema_178","example":0},{"name":"before_id","in":"query","schemaId":"schema_97"},{"name":"limit","in":"query","schemaId":"schema_109"}],"pointer":"/paths/~1api~1messages/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/messages","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[{"name":"id_dialog","in":"query","required":true,"example":10,"schemaId":"schema_97"},{"name":"offset","in":"query","required":false,"example":0,"schemaId":"schema_178"},{"name":"before_id","in":"query","required":false,"schemaId":"schema_97"},{"name":"limit","in":"query","required":false,"schemaId":"schema_109"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","401","403","404"],"pointer":"/api/messages","href":"chaty-rest/paths/~1api~1messages/get","summary":"Получить сообщения диалога","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Сообщения успешно получены"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_179","exampleIds":["paths/~1api~1messages/get/responses/200/content/application~1json/examples/ok"]}},"schemaId":"schema_179","exampleIds":["paths/~1api~1messages/get/responses/200/content/application~1json/examples/ok"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1messages/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1messages/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1messages/get/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1messages/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1messages/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1messages/get/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1messages/get/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1messages/get/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1messages/get/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1messages/get/responses/403/content/application~1json/examples/forbidden"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрошенный ресурс не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1messages/get/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1messages/get/responses/404/content/application~1json/examples/not_found"]}],"pointer":"/paths/~1api~1messages/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_179","exampleIds":["paths/~1api~1messages/get/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_179","exampleIds":["paths/~1api~1messages/get/responses/200/content/application~1json/examples/ok"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1messages/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1messages/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1messages/get/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1messages/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1messages/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1messages/get/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1messages/get/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1messages/get/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1messages/get/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1messages/get/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1messages/get/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1messages/get/responses/404/content/application~1json/examples/not_found"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/chaty-rest/paths/~1api~1messages/get"}],"panels":[]}]},"httpPath":"/api/messages"},{"label":"Пометить реакции прочитанными","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/chaty-rest/paths/~1api~1messages~1reactions~1read/post","routeSlug":"/openapi/chaty-rest/paths/~1api~1messages~1reactions~1read/post","metadata":{"seo":{"title":"Пометить реакции прочитанными","description":"Помечает прочитанными реакции на сообщения из message_ids.В ответе возвращаются только ID сообщений, для которых непрочитанная реакцияпринадлежала текущему пользователю или его салону. Чужие, несуществующие иуже прочитанные реакции пропускаются без ошибки."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Пометить реакции прочитанными","isWebhook":false,"pointer":"/paths/~1api~1messages~1reactions~1read/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Пометить реакции прочитанными","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Помечает прочитанными реакции на сообщения из "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"message_ids"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"В ответе возвращаются только ID сообщений, для которых непрочитанная реакция"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"принадлежала текущему пользователю или его салону. Чужие, несуществующие и"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"уже прочитанные реакции пропускаются без ошибки."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/ReadReactionsBody","exampleIds":["paths/~1api~1messages~1reactions~1read/post/requestBody/content/application~1json/example"]}},"schemaId":"components/schemas/ReadReactionsBody","exampleIds":["paths/~1api~1messages~1reactions~1read/post/requestBody/content/application~1json/example"],"pointer":"/paths/~1api~1messages~1reactions~1read/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/messages/reactions/read","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/ReadReactionsBody","exampleIds":["paths/~1api~1messages~1reactions~1read/post/requestBody/content/application~1json/example"]}},"responseCodes":["200","400","401","403","500"],"pointer":"/api/messages/reactions/read","href":"chaty-rest/paths/~1api~1messages~1reactions~1read/post","summary":"Пометить реакции прочитанными","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/ReadReactionsBody","exampleIds":["paths/~1api~1messages~1reactions~1read/post/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/ReadReactionsBody","exampleIds":["paths/~1api~1messages~1reactions~1read/post/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Реакции обработаны"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_180","exampleIds":["paths/~1api~1messages~1reactions~1read/post/responses/200/content/application~1json/example"]}},"schemaId":"schema_180","exampleIds":["paths/~1api~1messages~1reactions~1read/post/responses/200/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1messages~1reactions~1read/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1messages~1reactions~1read/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1messages~1reactions~1read/post/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1messages~1reactions~1read/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1messages~1reactions~1read/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1messages~1reactions~1read/post/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не авторизован: JWT / RT отсутствует, истёк или невалиден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1messages~1reactions~1read/post/responses/401/content/application~1json/examples/unauthorized"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1messages~1reactions~1read/post/responses/401/content/application~1json/examples/unauthorized"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1messages~1reactions~1read/post/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1messages~1reactions~1read/post/responses/403/content/application~1json/examples/forbidden"]},{"code":"500","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Непредвиденная внутренняя ошибка сервера"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1messages~1reactions~1read/post/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1messages~1reactions~1read/post/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1api~1messages~1reactions~1read/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_180","exampleIds":["paths/~1api~1messages~1reactions~1read/post/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_180","exampleIds":["paths/~1api~1messages~1reactions~1read/post/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1messages~1reactions~1read/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1messages~1reactions~1read/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1messages~1reactions~1read/post/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1messages~1reactions~1read/post/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1messages~1reactions~1read/post/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1messages~1reactions~1read/post/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1messages~1reactions~1read/post/responses/401/content/application~1json/examples/unauthorized"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1messages~1reactions~1read/post/responses/401/content/application~1json/examples/unauthorized"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1messages~1reactions~1read/post/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1messages~1reactions~1read/post/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1messages~1reactions~1read/post/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1messages~1reactions~1read/post/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/chaty-rest/paths/~1api~1messages~1reactions~1read/post"}],"panels":[]}]},"httpPath":"/api/messages/reactions/read"},{"label":"Получить сообщение по идентификатору","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/chaty-rest/paths/~1api~1messages~1{id}/get","routeSlug":"/openapi/chaty-rest/paths/~1api~1messages~1{id}/get","metadata":{"seo":{"title":"Получить сообщение по идентификатору","description":"Возвращает одно сообщение по его идентификатору."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить сообщение по идентификатору","isWebhook":false,"pointer":"/paths/~1api~1messages~1{id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить сообщение по идентификатору","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает одно сообщение по его идентификатору."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Требования:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"требуется JWT"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возможные ошибки:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"400 invalid_body"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" равен "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"0"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" или меньше "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"0"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"403 forbidden"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - нет доступа к диалогу, к которому относится сообщение"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"404 not_found"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - сообщение не найдено"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]}]},{"schemes":[{"name":"jwtCookie","scopes":[],"type":"apiKey","in":"cookie","paramName":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор сообщения."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1messages~1{id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/messages/{id}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_97"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"jwtCookie","type":"apiKey","name":"JWT","in":"cookie"}],"scopes":[]}],"responseCodes":["200","400","403","404"],"pointer":"/api/messages/{id}","href":"chaty-rest/paths/~1api~1messages~1{id}/get","summary":"Получить сообщение по идентификатору","securityGroups":[{"bearerAuth":[]},{"jwtCookie":[]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Сообщение успешно получено"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/MessageSingleResponse","exampleIds":["paths/~1api~1messages~1{id}/get/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/MessageSingleResponse","exampleIds":["paths/~1api~1messages~1{id}/get/responses/200/content/application~1json/examples/ok"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1messages~1{id}/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1messages~1{id}/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1messages~1{id}/get/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1messages~1{id}/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1messages~1{id}/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1messages~1{id}/get/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доступ запрещён: у пользователя нет прав на ресурс"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1messages~1{id}/get/responses/403/content/application~1json/examples/forbidden"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1messages~1{id}/get/responses/403/content/application~1json/examples/forbidden"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрошенный ресурс не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1messages~1{id}/get/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1messages~1{id}/get/responses/404/content/application~1json/examples/not_found"]}],"pointer":"/paths/~1api~1messages~1{id}/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/MessageSingleResponse","exampleIds":["paths/~1api~1messages~1{id}/get/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/MessageSingleResponse","exampleIds":["paths/~1api~1messages~1{id}/get/responses/200/content/application~1json/examples/ok"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1messages~1{id}/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1messages~1{id}/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1messages~1{id}/get/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1messages~1{id}/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1messages~1{id}/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1messages~1{id}/get/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1messages~1{id}/get/responses/403/content/application~1json/examples/forbidden"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1messages~1{id}/get/responses/403/content/application~1json/examples/forbidden"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1messages~1{id}/get/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1messages~1{id}/get/responses/404/content/application~1json/examples/not_found"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/chaty-rest/paths/~1api~1messages~1{id}/get"}],"panels":[]}]},"httpPath":"/api/messages/{id}"}],"content":{"contentType":"group","meta":{"name":"Чаты REST"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Чаты REST","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"REST-эндпоинты модуля мессенджера для получения диалогов и сообщений."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/api/dialogs/{id}","summary":"Получить диалог по id","prefix":{"name":"get","color":"get"},"badges":[],"link":"/chaty-rest/paths/~1api~1dialogs~1{id}/get","deprecated":false},{"title":"/api/dialogs/user","summary":"Получить список диалогов текущего пользователя","prefix":{"name":"get","color":"get"},"badges":[],"link":"/chaty-rest/paths/~1api~1dialogs~1user/get","deprecated":false},{"title":"/api/dialogs/salon","summary":"Получить общий список диалогов салона","prefix":{"name":"get","color":"get"},"badges":[],"link":"/chaty-rest/paths/~1api~1dialogs~1salon/get","deprecated":false},{"title":"/api/support/messages/send","summary":"Отправить сообщение в поддержку","prefix":{"name":"post","color":"post"},"badges":[],"link":"/chaty-rest/paths/~1api~1support~1messages~1send/post","deprecated":false},{"title":"/api/support/chat/resolution-response","summary":"Ответить на вопрос о решении проблемы","prefix":{"name":"post","color":"post"},"badges":[],"link":"/chaty-rest/paths/~1api~1support~1chat~1resolution-response/post","deprecated":false},{"title":"/api/messages/send","summary":"Отправить сообщение","prefix":{"name":"post","color":"post"},"badges":[],"link":"/chaty-rest/paths/~1api~1messages~1send/post","deprecated":false},{"title":"/api/messages","summary":"Получить сообщения диалога","prefix":{"name":"get","color":"get"},"badges":[],"link":"/chaty-rest/paths/~1api~1messages/get","deprecated":false},{"title":"/api/messages/reactions/read","summary":"Пометить реакции прочитанными","prefix":{"name":"post","color":"post"},"badges":[],"link":"/chaty-rest/paths/~1api~1messages~1reactions~1read/post","deprecated":false},{"title":"/api/messages/{id}","summary":"Получить сообщение по идентификатору","prefix":{"name":"get","color":"get"},"badges":[],"link":"/chaty-rest/paths/~1api~1messages~1{id}/get","deprecated":false}]}]}]}]}},{"type":"group","label":"Чаты WS","link":"/openapi/chaty-ws","routeSlug":"/openapi/chaty-ws","items":[{"label":"Отправить сообщение в поддержку через WebSocket","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/chaty-ws/paths/~1app~1support.send/post","routeSlug":"/openapi/chaty-ws/paths/~1app~1support.send/post","metadata":{"seo":{"title":"Отправить сообщение в поддержку через WebSocket","description":"STOMP destination: /app/support.send."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Отправить сообщение в поддержку через WebSocket","isWebhook":false,"pointer":"/paths/~1app~1support.send/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Отправить сообщение в поддержку через WebSocket","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"STOMP destination: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/app/support.send"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Payload совпадает с "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"POST /api/support/messages/send"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Успешный результат"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"приходит отправителю в "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/user/queue/support.delivered"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", сообщения поддержки —"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"в "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/user/queue/chat.new_message"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", изменения статуса — в"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/user/queue/support.status"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", ошибки — в "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/user/queue/errors"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/SupportSendMessageBody"}},"schemaId":"components/schemas/SupportSendMessageBody","pointer":"/paths/~1app~1support.send/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/app/support.send","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"components/schemas/SupportSendMessageBody"}},"responseCodes":["200","default"],"pointer":"/app/support.send","href":"chaty-ws/paths/~1app~1support.send/post","summary":"Отправить сообщение в поддержку через WebSocket"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/SupportSendMessageBody","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/SupportSendMessageBody"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Результат доставки в "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/user/queue/support.delivered"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SupportSendResult"}},"schemaId":"components/schemas/SupportSendResult"},{"code":"default","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Ошибка в "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/user/queue/errors"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/WsErrorResponse"}},"schemaId":"components/schemas/WsErrorResponse"}],"pointer":"/paths/~1app~1support.send/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/SupportSendResult","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SupportSendResult"}}},{"code":"default","schemaId":"components/schemas/WsErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/WsErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/chaty-ws/paths/~1app~1support.send/post"}],"panels":[]}]},"httpPath":"/app/support.send"},{"label":"Отправить сообщение через WebSocket","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/chaty-ws/paths/~1app~1chat.send/post","routeSlug":"/openapi/chaty-ws/paths/~1app~1chat.send/post","metadata":{"seo":{"title":"Отправить сообщение через WebSocket","description":"STOMP destination для отправки сообщений через WebSocket."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Отправить сообщение через WebSocket","isWebhook":false,"pointer":"/paths/~1app~1chat.send/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Отправить сообщение через WebSocket","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"STOMP destination для отправки сообщений через WebSocket."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Подключение:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"SockJS endpoint: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/ws"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"STOMP destination: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/app/chat.send"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Клиент отправляет тот же payload, что и REST-эндпоинт отправки сообщения."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Ответы:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"в ответ отправителю приходит сообщение в "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/user/queue/chat.delivered"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"собеседнику отправляется уведомление в "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/user/queue/chat.new_message"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ошибки приходят в "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/user/queue/errors"},"children":[]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/SendMessageBody","exampleIds":["paths/~1app~1chat.send/post/requestBody/content/application~1json/examples/sendToDialog","paths/~1app~1chat.send/post/requestBody/content/application~1json/examples/sendToUser"]}},"schemaId":"components/schemas/SendMessageBody","exampleIds":["paths/~1app~1chat.send/post/requestBody/content/application~1json/examples/sendToDialog","paths/~1app~1chat.send/post/requestBody/content/application~1json/examples/sendToUser"],"pointer":"/paths/~1app~1chat.send/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/app/chat.send","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"components/schemas/SendMessageBody","exampleIds":["paths/~1app~1chat.send/post/requestBody/content/application~1json/examples/sendToDialog","paths/~1app~1chat.send/post/requestBody/content/application~1json/examples/sendToUser"]}},"responseCodes":["200","default"],"pointer":"/app/chat.send","href":"chaty-ws/paths/~1app~1chat.send/post","summary":"Отправить сообщение через WebSocket"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/SendMessageBody","exampleIds":["paths/~1app~1chat.send/post/requestBody/content/application~1json/examples/sendToDialog","paths/~1app~1chat.send/post/requestBody/content/application~1json/examples/sendToUser"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/SendMessageBody","exampleIds":["paths/~1app~1chat.send/post/requestBody/content/application~1json/examples/sendToDialog","paths/~1app~1chat.send/post/requestBody/content/application~1json/examples/sendToUser"]}},"examples":[{},{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доставка сообщения отправителю в "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/user/queue/chat.delivered"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/DeliveredWsResponse","exampleIds":["paths/~1app~1chat.send/post/responses/200/content/application~1json/examples/delivered"]}},"schemaId":"components/schemas/DeliveredWsResponse","exampleIds":["paths/~1app~1chat.send/post/responses/200/content/application~1json/examples/delivered"]},{"code":"default","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Ошибка в "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/user/queue/errors"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/WsErrorResponse"}},"schemaId":"components/schemas/WsErrorResponse"}],"pointer":"/paths/~1app~1chat.send/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/DeliveredWsResponse","exampleIds":["paths/~1app~1chat.send/post/responses/200/content/application~1json/examples/delivered"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/DeliveredWsResponse","exampleIds":["paths/~1app~1chat.send/post/responses/200/content/application~1json/examples/delivered"]}}},{"code":"default","schemaId":"components/schemas/WsErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/WsErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/chaty-ws/paths/~1app~1chat.send/post"}],"panels":[]}]},"httpPath":"/app/chat.send"},{"label":"Отправить сообщение салону через WebSocket","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/chaty-ws/paths/~1app~1chat.salon.send/post","routeSlug":"/openapi/chaty-ws/paths/~1app~1chat.salon.send/post","metadata":{"seo":{"title":"Отправить сообщение салону через WebSocket","description":"STOMP destination для отправки сообщения в общий чат салона по salon_id."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Отправить сообщение салону через WebSocket","isWebhook":false,"pointer":"/paths/~1app~1chat.salon.send/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Отправить сообщение салону через WebSocket","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"STOMP destination для отправки сообщения в общий чат салона по "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"salon_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Подключение:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"SockJS endpoint: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/ws"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"STOMP destination: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/app/chat.salon.send"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Backend резолвит "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"salon_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" в "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"owner_user_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" салона и использует общий диалог клиента с салоном."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"В body не нужно передавать "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"receiver_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Ответы:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"отправителю приходит результат в "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/user/queue/chat.delivered"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"получателям приходит уведомление в "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/user/queue/chat.new_message"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"для салонного диалога получатели: владелец салона и админы с "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CHAT_READ"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" или "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CHAT_WRITE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", кроме отправителя"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ошибки приходят в "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/user/queue/errors"},"children":[]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/SendSalonMessageBody","exampleIds":["paths/~1app~1chat.salon.send/post/requestBody/content/application~1json/examples/sendToSalon"]}},"schemaId":"components/schemas/SendSalonMessageBody","exampleIds":["paths/~1app~1chat.salon.send/post/requestBody/content/application~1json/examples/sendToSalon"],"pointer":"/paths/~1app~1chat.salon.send/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/app/chat.salon.send","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"components/schemas/SendSalonMessageBody","exampleIds":["paths/~1app~1chat.salon.send/post/requestBody/content/application~1json/examples/sendToSalon"]}},"responseCodes":["200","default"],"pointer":"/app/chat.salon.send","href":"chaty-ws/paths/~1app~1chat.salon.send/post","summary":"Отправить сообщение салону через WebSocket"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/SendSalonMessageBody","exampleIds":["paths/~1app~1chat.salon.send/post/requestBody/content/application~1json/examples/sendToSalon"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/SendSalonMessageBody","exampleIds":["paths/~1app~1chat.salon.send/post/requestBody/content/application~1json/examples/sendToSalon"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доставка сообщения отправителю в "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/user/queue/chat.delivered"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/DeliveredWsResponse"}},"schemaId":"components/schemas/DeliveredWsResponse"},{"code":"default","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Ошибка в "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/user/queue/errors"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/WsErrorResponse"}},"schemaId":"components/schemas/WsErrorResponse"}],"pointer":"/paths/~1app~1chat.salon.send/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/DeliveredWsResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/DeliveredWsResponse"}}},{"code":"default","schemaId":"components/schemas/WsErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/WsErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/chaty-ws/paths/~1app~1chat.salon.send/post"}],"panels":[]}]},"httpPath":"/app/chat.salon.send"},{"label":"Отметить сообщения прочитанными через WebSocket","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/chaty-ws/paths/~1app~1chat.read/post","routeSlug":"/openapi/chaty-ws/paths/~1app~1chat.read/post","metadata":{"seo":{"title":"Отметить сообщения прочитанными через WebSocket","description":"STOMP destination для отметки сообщений как прочитанных."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Отметить сообщения прочитанными через WebSocket","isWebhook":false,"pointer":"/paths/~1app~1chat.read/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Отметить сообщения прочитанными через WebSocket","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"STOMP destination для отметки сообщений как прочитанных."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Подключение:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"SockJS endpoint: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/ws"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"STOMP destination: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/app/chat.read"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"При успешной обработке другому участнику диалога отправляется уведомление"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"в "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/user/queue/chat.read_message"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Ошибки приходят в "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/user/queue/errors"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/ReadMessageBody","exampleIds":["paths/~1app~1chat.read/post/requestBody/content/application~1json/examples/example"]}},"schemaId":"components/schemas/ReadMessageBody","exampleIds":["paths/~1app~1chat.read/post/requestBody/content/application~1json/examples/example"],"pointer":"/paths/~1app~1chat.read/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/app/chat.read","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"components/schemas/ReadMessageBody","exampleIds":["paths/~1app~1chat.read/post/requestBody/content/application~1json/examples/example"]}},"responseCodes":["200","default"],"pointer":"/app/chat.read","href":"chaty-ws/paths/~1app~1chat.read/post","summary":"Отметить сообщения прочитанными через WebSocket"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/ReadMessageBody","exampleIds":["paths/~1app~1chat.read/post/requestBody/content/application~1json/examples/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/ReadMessageBody","exampleIds":["paths/~1app~1chat.read/post/requestBody/content/application~1json/examples/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Уведомление в "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/user/queue/chat.read_message"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ReadMessageWsResponse","exampleIds":["paths/~1app~1chat.read/post/responses/200/content/application~1json/examples/read"]}},"schemaId":"components/schemas/ReadMessageWsResponse","exampleIds":["paths/~1app~1chat.read/post/responses/200/content/application~1json/examples/read"]},{"code":"default","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Ошибка в "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/user/queue/errors"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/WsErrorResponse"}},"schemaId":"components/schemas/WsErrorResponse"}],"pointer":"/paths/~1app~1chat.read/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/ReadMessageWsResponse","exampleIds":["paths/~1app~1chat.read/post/responses/200/content/application~1json/examples/read"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ReadMessageWsResponse","exampleIds":["paths/~1app~1chat.read/post/responses/200/content/application~1json/examples/read"]}}},{"code":"default","schemaId":"components/schemas/WsErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/WsErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/chaty-ws/paths/~1app~1chat.read/post"}],"panels":[]}]},"httpPath":"/app/chat.read"},{"label":"Поставить или убрать реакцию через WebSocket","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/chaty-ws/paths/~1app~1chat.reaction/post","routeSlug":"/openapi/chaty-ws/paths/~1app~1chat.reaction/post","metadata":{"seo":{"title":"Поставить или убрать реакцию через WebSocket","description":"STOMP destination для установки реакции на сообщение."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Поставить или убрать реакцию через WebSocket","isWebhook":false,"pointer":"/paths/~1app~1chat.reaction/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Поставить или убрать реакцию через WebSocket","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"STOMP destination для установки реакции на сообщение."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Подключение:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"SockJS endpoint: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/ws"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"STOMP destination: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/app/chat.reaction"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Если "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"reaction_type = null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", реакция пользователя удаляется."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Реакции в support-диалогах запрещены и возвращают ошибку в "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/user/queue/errors"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"При успешной обработке другому участнику диалога отправляется уведомление"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"в "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/user/queue/chat.reaction"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". В событии реакции передаются "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"message_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":","},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"user_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"reaction_type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"dialog_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Ошибки приходят в "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/user/queue/errors"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/PutReactionBody","exampleIds":["paths/~1app~1chat.reaction/post/requestBody/content/application~1json/examples/putReaction","paths/~1app~1chat.reaction/post/requestBody/content/application~1json/examples/removeReaction"]}},"schemaId":"components/schemas/PutReactionBody","exampleIds":["paths/~1app~1chat.reaction/post/requestBody/content/application~1json/examples/putReaction","paths/~1app~1chat.reaction/post/requestBody/content/application~1json/examples/removeReaction"],"pointer":"/paths/~1app~1chat.reaction/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/app/chat.reaction","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"components/schemas/PutReactionBody","exampleIds":["paths/~1app~1chat.reaction/post/requestBody/content/application~1json/examples/putReaction","paths/~1app~1chat.reaction/post/requestBody/content/application~1json/examples/removeReaction"]}},"responseCodes":["200","default"],"pointer":"/app/chat.reaction","href":"chaty-ws/paths/~1app~1chat.reaction/post","summary":"Поставить или убрать реакцию через WebSocket"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"schemaId":"components/schemas/PutReactionBody","exampleIds":["paths/~1app~1chat.reaction/post/requestBody/content/application~1json/examples/putReaction","paths/~1app~1chat.reaction/post/requestBody/content/application~1json/examples/removeReaction"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/PutReactionBody","exampleIds":["paths/~1app~1chat.reaction/post/requestBody/content/application~1json/examples/putReaction","paths/~1app~1chat.reaction/post/requestBody/content/application~1json/examples/removeReaction"]}},"examples":[{},{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Уведомление в "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/user/queue/chat.reaction"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/PutReactionWsResponse","exampleIds":["paths/~1app~1chat.reaction/post/responses/200/content/application~1json/examples/reaction"]}},"schemaId":"components/schemas/PutReactionWsResponse","exampleIds":["paths/~1app~1chat.reaction/post/responses/200/content/application~1json/examples/reaction"]},{"code":"default","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Ошибка в "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/user/queue/errors"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/WsErrorResponse"}},"schemaId":"components/schemas/WsErrorResponse"}],"pointer":"/paths/~1app~1chat.reaction/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/PutReactionWsResponse","exampleIds":["paths/~1app~1chat.reaction/post/responses/200/content/application~1json/examples/reaction"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/PutReactionWsResponse","exampleIds":["paths/~1app~1chat.reaction/post/responses/200/content/application~1json/examples/reaction"]}}},{"code":"default","schemaId":"components/schemas/WsErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/WsErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/chaty-ws/paths/~1app~1chat.reaction/post"}],"panels":[]}]},"httpPath":"/app/chat.reaction"},{"label":"Подписка клиента на подтверждение отправки сообщения в поддержку","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/chaty-ws/paths/~1user~1queue~1support.delivered/get","routeSlug":"/openapi/chaty-ws/paths/~1user~1queue~1support.delivered/get","metadata":{"seo":{"title":"Подписка клиента на подтверждение отправки сообщения в поддержку","description":"Персональная STOMP-очередь клиента. После успешной отправки сообщения через/app/support.send сервер возвращает созданные сообщения, dialog_id иактуальный case_id обращения."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Подписка клиента на подтверждение отправки сообщения в поддержку","isWebhook":false,"pointer":"/paths/~1user~1queue~1support.delivered/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Подписка клиента на подтверждение отправки сообщения в поддержку","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Персональная STOMP-очередь клиента. После успешной отправки сообщения через"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/app/support.send"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" сервер возвращает созданные сообщения, "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"dialog_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"актуальный "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"case_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" обращения."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/user/queue/support.delivered","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200"],"pointer":"/user/queue/support.delivered","href":"chaty-ws/paths/~1user~1queue~1support.delivered/get","summary":"Подписка клиента на подтверждение отправки сообщения в поддержку"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Сообщение в поддержку успешно создано и доставлено отправителю"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SupportSendResult"}},"schemaId":"components/schemas/SupportSendResult"}],"pointer":"/paths/~1user~1queue~1support.delivered/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/SupportSendResult","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SupportSendResult"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/chaty-ws/paths/~1user~1queue~1support.delivered/get"}],"panels":[]}]},"httpPath":"/user/queue/support.delivered"},{"label":"Подписка клиента на изменение статуса обращения в поддержку","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/chaty-ws/paths/~1user~1queue~1support.status/get","routeSlug":"/openapi/chaty-ws/paths/~1user~1queue~1support.status/get","metadata":{"seo":{"title":"Подписка клиента на изменение статуса обращения в поддержку","description":"Персональная STOMP-очередь клиента для получения изменений состояния обращения:запроса подтверждения решения, закрытия и повторного открытия обращения.Для активного запроса подтверждения клиент получает status = OPEN инепустой resolution_requested_at. После ответа клиентаresolution_requested_at = null, поэтому кнопки должны исчезнуть на всехподключённых устройствах."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Подписка клиента на изменение статуса обращения в поддержку","isWebhook":false,"pointer":"/paths/~1user~1queue~1support.status/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Подписка клиента на изменение статуса обращения в поддержку","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Персональная STOMP-очередь клиента для получения изменений состояния обращения:"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"запроса подтверждения решения, закрытия и повторного открытия обращения."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Для активного запроса подтверждения клиент получает "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"status = OPEN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"непустой "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"resolution_requested_at"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". После ответа клиента"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"resolution_requested_at = null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", поэтому кнопки должны исчезнуть на всех"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"подключённых устройствах."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/user/queue/support.status","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200"],"pointer":"/user/queue/support.status","href":"chaty-ws/paths/~1user~1queue~1support.status/get","summary":"Подписка клиента на изменение статуса обращения в поддержку"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Состояние обращения в поддержку изменилось"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SupportStatusWsResponse"}},"schemaId":"components/schemas/SupportStatusWsResponse"}],"pointer":"/paths/~1user~1queue~1support.status/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/SupportStatusWsResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SupportStatusWsResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/chaty-ws/paths/~1user~1queue~1support.status/get"}],"panels":[]}]},"httpPath":"/user/queue/support.status"},{"label":"Подписка на подтверждение доставки отправителю","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/chaty-ws/paths/~1user~1queue~1chat.delivered/get","routeSlug":"/openapi/chaty-ws/paths/~1user~1queue~1chat.delivered/get","metadata":{"seo":{"title":"Подписка на подтверждение доставки отправителю","description":"Пользовательская очередь, в которую сервер отправляет результат успешнойотправки сообщения после вызова /app/chat.send."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Подписка на подтверждение доставки отправителю","isWebhook":false,"pointer":"/paths/~1user~1queue~1chat.delivered/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Подписка на подтверждение доставки отправителю","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Пользовательская очередь, в которую сервер отправляет результат успешной"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"отправки сообщения после вызова "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/app/chat.send"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/user/queue/chat.delivered","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200"],"pointer":"/user/queue/chat.delivered","href":"chaty-ws/paths/~1user~1queue~1chat.delivered/get","summary":"Подписка на подтверждение доставки отправителю"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доставленные отправителю сообщения"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/DeliveredWsResponse"}},"schemaId":"components/schemas/DeliveredWsResponse"}],"pointer":"/paths/~1user~1queue~1chat.delivered/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/DeliveredWsResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/DeliveredWsResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/chaty-ws/paths/~1user~1queue~1chat.delivered/get"}],"panels":[]}]},"httpPath":"/user/queue/chat.delivered"},{"label":"Подписка на новые входящие сообщения","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/chaty-ws/paths/~1user~1queue~1chat.new_message/get","routeSlug":"/openapi/chaty-ws/paths/~1user~1queue~1chat.new_message/get","metadata":{"seo":{"title":"Подписка на новые входящие сообщения","description":"Пользовательская очередь для получения новых сообщений от другого участникадиалога."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Подписка на новые входящие сообщения","isWebhook":false,"pointer":"/paths/~1user~1queue~1chat.new_message/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Подписка на новые входящие сообщения","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Пользовательская очередь для получения новых сообщений от другого участника"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"диалога."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"В сообщениях может присутствовать дополнительное поле "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"request"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" с телом"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"интерактивного запроса, например запроса на перенос записи ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"RESCHEDULE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"),"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"запроса на создание записи ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CREATE_RECORD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") или запроса на доплату ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SURCHARGE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"), а также поле"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"service_message"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" со служебным сообщением."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/user/queue/chat.new_message","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200"],"pointer":"/user/queue/chat.new_message","href":"chaty-ws/paths/~1user~1queue~1chat.new_message/get","summary":"Подписка на новые входящие сообщения"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Новые сообщения. Каждый элемент "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"messages[]"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" может содержать поля "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"request"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"service_message"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/NewMessageWsResponse","exampleIds":["paths/~1user~1queue~1chat.new_message/get/responses/200/content/application~1json/examples/with_request","paths/~1user~1queue~1chat.new_message/get/responses/200/content/application~1json/examples/with_create_record_request","paths/~1user~1queue~1chat.new_message/get/responses/200/content/application~1json/examples/with_surcharge_request","paths/~1user~1queue~1chat.new_message/get/responses/200/content/application~1json/examples/with_cancel_record_service_message","paths/~1user~1queue~1chat.new_message/get/responses/200/content/application~1json/examples/with_surcharge_result_service_message"]}},"schemaId":"components/schemas/NewMessageWsResponse","exampleIds":["paths/~1user~1queue~1chat.new_message/get/responses/200/content/application~1json/examples/with_request","paths/~1user~1queue~1chat.new_message/get/responses/200/content/application~1json/examples/with_create_record_request","paths/~1user~1queue~1chat.new_message/get/responses/200/content/application~1json/examples/with_surcharge_request","paths/~1user~1queue~1chat.new_message/get/responses/200/content/application~1json/examples/with_cancel_record_service_message","paths/~1user~1queue~1chat.new_message/get/responses/200/content/application~1json/examples/with_surcharge_result_service_message"]}],"pointer":"/paths/~1user~1queue~1chat.new_message/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/NewMessageWsResponse","exampleIds":["paths/~1user~1queue~1chat.new_message/get/responses/200/content/application~1json/examples/with_request","paths/~1user~1queue~1chat.new_message/get/responses/200/content/application~1json/examples/with_create_record_request","paths/~1user~1queue~1chat.new_message/get/responses/200/content/application~1json/examples/with_surcharge_request","paths/~1user~1queue~1chat.new_message/get/responses/200/content/application~1json/examples/with_cancel_record_service_message","paths/~1user~1queue~1chat.new_message/get/responses/200/content/application~1json/examples/with_surcharge_result_service_message"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/NewMessageWsResponse","exampleIds":["paths/~1user~1queue~1chat.new_message/get/responses/200/content/application~1json/examples/with_request","paths/~1user~1queue~1chat.new_message/get/responses/200/content/application~1json/examples/with_create_record_request","paths/~1user~1queue~1chat.new_message/get/responses/200/content/application~1json/examples/with_surcharge_request","paths/~1user~1queue~1chat.new_message/get/responses/200/content/application~1json/examples/with_cancel_record_service_message","paths/~1user~1queue~1chat.new_message/get/responses/200/content/application~1json/examples/with_surcharge_result_service_message"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/chaty-ws/paths/~1user~1queue~1chat.new_message/get"}],"panels":[]}]},"httpPath":"/user/queue/chat.new_message"},{"label":"Подписка на обновление статуса request-сообщения","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/chaty-ws/paths/~1user~1queue~1chat.update_status_request/get","routeSlug":"/openapi/chaty-ws/paths/~1user~1queue~1chat.update_status_request/get","metadata":{"seo":{"title":"Подписка на обновление статуса request-сообщения","description":"Пользовательская очередь для получения уведомления об изменении статусаrequest внутри сообщения, например когда собеседник подтвердил или отклонилзапрос на перенос записи."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Подписка на обновление статуса request-сообщения","isWebhook":false,"pointer":"/paths/~1user~1queue~1chat.update_status_request/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Подписка на обновление статуса request-сообщения","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Пользовательская очередь для получения уведомления об изменении статуса"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"request внутри сообщения, например когда собеседник подтвердил или отклонил"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"запрос на перенос записи."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/user/queue/chat.update_status_request","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200"],"pointer":"/user/queue/chat.update_status_request","href":"chaty-ws/paths/~1user~1queue~1chat.update_status_request/get","summary":"Подписка на обновление статуса request-сообщения"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Событие обновления статуса request"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/UpdateRequestStatusWsResponse","exampleIds":["paths/~1user~1queue~1chat.update_status_request/get/responses/200/content/application~1json/examples/approved"]}},"schemaId":"components/schemas/UpdateRequestStatusWsResponse","exampleIds":["paths/~1user~1queue~1chat.update_status_request/get/responses/200/content/application~1json/examples/approved"]}],"pointer":"/paths/~1user~1queue~1chat.update_status_request/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/UpdateRequestStatusWsResponse","exampleIds":["paths/~1user~1queue~1chat.update_status_request/get/responses/200/content/application~1json/examples/approved"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/UpdateRequestStatusWsResponse","exampleIds":["paths/~1user~1queue~1chat.update_status_request/get/responses/200/content/application~1json/examples/approved"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/chaty-ws/paths/~1user~1queue~1chat.update_status_request/get"}],"panels":[]}]},"httpPath":"/user/queue/chat.update_status_request"},{"label":"Подписка на событие прочтения сообщений","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/chaty-ws/paths/~1user~1queue~1chat.read_message/get","routeSlug":"/openapi/chaty-ws/paths/~1user~1queue~1chat.read_message/get","metadata":{"seo":{"title":"Подписка на событие прочтения сообщений","description":"Пользовательская очередь для уведомления о прочтении сообщений другимучастником диалога."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Подписка на событие прочтения сообщений","isWebhook":false,"pointer":"/paths/~1user~1queue~1chat.read_message/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Подписка на событие прочтения сообщений","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Пользовательская очередь для уведомления о прочтении сообщений другим"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"участником диалога."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/user/queue/chat.read_message","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200"],"pointer":"/user/queue/chat.read_message","href":"chaty-ws/paths/~1user~1queue~1chat.read_message/get","summary":"Подписка на событие прочтения сообщений"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Событие прочтения"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ReadMessageWsResponse"}},"schemaId":"components/schemas/ReadMessageWsResponse"}],"pointer":"/paths/~1user~1queue~1chat.read_message/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/ReadMessageWsResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ReadMessageWsResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/chaty-ws/paths/~1user~1queue~1chat.read_message/get"}],"panels":[]}]},"httpPath":"/user/queue/chat.read_message"},{"label":"Подписка на реакции в сообщениях","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/chaty-ws/paths/~1user~1queue~1chat.reaction/get","routeSlug":"/openapi/chaty-ws/paths/~1user~1queue~1chat.reaction/get","metadata":{"seo":{"title":"Подписка на реакции в сообщениях","description":"Пользовательская очередь для получения уведомлений о постановке илиудалении реакции другим участником диалога."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Подписка на реакции в сообщениях","isWebhook":false,"pointer":"/paths/~1user~1queue~1chat.reaction/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Подписка на реакции в сообщениях","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Пользовательская очередь для получения уведомлений о постановке или"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"удалении реакции другим участником диалога."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/user/queue/chat.reaction","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200"],"pointer":"/user/queue/chat.reaction","href":"chaty-ws/paths/~1user~1queue~1chat.reaction/get","summary":"Подписка на реакции в сообщениях"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Событие реакции"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/PutReactionWsResponse"}},"schemaId":"components/schemas/PutReactionWsResponse"}],"pointer":"/paths/~1user~1queue~1chat.reaction/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/PutReactionWsResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/PutReactionWsResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/chaty-ws/paths/~1user~1queue~1chat.reaction/get"}],"panels":[]}]},"httpPath":"/user/queue/chat.reaction"},{"label":"Подписка на online-статус собеседников","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/chaty-ws/paths/~1user~1queue~1chat.user_online_status/get","routeSlug":"/openapi/chaty-ws/paths/~1user~1queue~1chat.user_online_status/get","metadata":{"seo":{"title":"Подписка на online-статус собеседников","description":"Пользовательская очередь для получения изменений online-статусасобеседников по диалогам."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Подписка на online-статус собеседников","isWebhook":false,"pointer":"/paths/~1user~1queue~1chat.user_online_status/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Подписка на online-статус собеседников","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Пользовательская очередь для получения изменений online-статуса"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"собеседников по диалогам."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Сервер отправляет событие собеседникам пользователя:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"is_online = true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" при первом WebSocket CONNECT пользователя"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"is_online = false"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" при последнем WebSocket DISCONNECT пользователя"},"children":[]}]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/user/queue/chat.user_online_status","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200"],"pointer":"/user/queue/chat.user_online_status","href":"chaty-ws/paths/~1user~1queue~1chat.user_online_status/get","summary":"Подписка на online-статус собеседников"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Событие изменения online-статуса собеседника в диалоге"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/UserOnlineStatusWsResponse","exampleIds":["paths/~1user~1queue~1chat.user_online_status/get/responses/200/content/application~1json/examples/online","paths/~1user~1queue~1chat.user_online_status/get/responses/200/content/application~1json/examples/offline"]}},"schemaId":"components/schemas/UserOnlineStatusWsResponse","exampleIds":["paths/~1user~1queue~1chat.user_online_status/get/responses/200/content/application~1json/examples/online","paths/~1user~1queue~1chat.user_online_status/get/responses/200/content/application~1json/examples/offline"]}],"pointer":"/paths/~1user~1queue~1chat.user_online_status/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/UserOnlineStatusWsResponse","exampleIds":["paths/~1user~1queue~1chat.user_online_status/get/responses/200/content/application~1json/examples/online","paths/~1user~1queue~1chat.user_online_status/get/responses/200/content/application~1json/examples/offline"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/UserOnlineStatusWsResponse","exampleIds":["paths/~1user~1queue~1chat.user_online_status/get/responses/200/content/application~1json/examples/online","paths/~1user~1queue~1chat.user_online_status/get/responses/200/content/application~1json/examples/offline"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/chaty-ws/paths/~1user~1queue~1chat.user_online_status/get"}],"panels":[]}]},"httpPath":"/user/queue/chat.user_online_status"},{"label":"Подписка на ошибки WebSocket-модуля мессенджера","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/chaty-ws/paths/~1user~1queue~1errors/get","routeSlug":"/openapi/chaty-ws/paths/~1user~1queue~1errors/get","metadata":{"seo":{"title":"Подписка на ошибки WebSocket-модуля мессенджера","description":"Пользовательская очередь, в которую сервер отправляет ошибки валидации иобработки STOMP-сообщений."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Подписка на ошибки WebSocket-модуля мессенджера","isWebhook":false,"pointer":"/paths/~1user~1queue~1errors/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Подписка на ошибки WebSocket-модуля мессенджера","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Пользовательская очередь, в которую сервер отправляет ошибки валидации и"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"обработки STOMP-сообщений."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/user/queue/errors","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200"],"pointer":"/user/queue/errors","href":"chaty-ws/paths/~1user~1queue~1errors/get","summary":"Подписка на ошибки WebSocket-модуля мессенджера"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Ошибка обработки WebSocket-сообщения"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/WsErrorResponse"}},"schemaId":"components/schemas/WsErrorResponse"}],"pointer":"/paths/~1user~1queue~1errors/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/WsErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/WsErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/chaty-ws/paths/~1user~1queue~1errors/get"}],"panels":[]}]},"httpPath":"/user/queue/errors"}],"content":{"contentType":"group","meta":{"name":"Чаты WS"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Чаты WS","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"WebSocket/STOMP-эндпоинты модуля мессенджера."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Подключение выполняется через SockJS endpoint "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/ws"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Для вызова STOMP destinations должно уже существовать аутентифицированное"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"STOMP-соединение."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"JWT передаётся один раз на этапе STOMP CONNECT в заголовке"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Authorization: Bearer <JWT>"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/app/support.send","summary":"Отправить сообщение в поддержку через WebSocket","prefix":{"name":"post","color":"post"},"badges":[],"link":"/chaty-ws/paths/~1app~1support.send/post","deprecated":false},{"title":"/app/chat.send","summary":"Отправить сообщение через WebSocket","prefix":{"name":"post","color":"post"},"badges":[],"link":"/chaty-ws/paths/~1app~1chat.send/post","deprecated":false},{"title":"/app/chat.salon.send","summary":"Отправить сообщение салону через WebSocket","prefix":{"name":"post","color":"post"},"badges":[],"link":"/chaty-ws/paths/~1app~1chat.salon.send/post","deprecated":false},{"title":"/app/chat.read","summary":"Отметить сообщения прочитанными через WebSocket","prefix":{"name":"post","color":"post"},"badges":[],"link":"/chaty-ws/paths/~1app~1chat.read/post","deprecated":false},{"title":"/app/chat.reaction","summary":"Поставить или убрать реакцию через WebSocket","prefix":{"name":"post","color":"post"},"badges":[],"link":"/chaty-ws/paths/~1app~1chat.reaction/post","deprecated":false},{"title":"/user/queue/support.delivered","summary":"Подписка клиента на подтверждение отправки сообщения в поддержку","prefix":{"name":"get","color":"get"},"badges":[],"link":"/chaty-ws/paths/~1user~1queue~1support.delivered/get","deprecated":false},{"title":"/user/queue/support.status","summary":"Подписка клиента на изменение статуса обращения в поддержку","prefix":{"name":"get","color":"get"},"badges":[],"link":"/chaty-ws/paths/~1user~1queue~1support.status/get","deprecated":false},{"title":"/user/queue/chat.delivered","summary":"Подписка на подтверждение доставки отправителю","prefix":{"name":"get","color":"get"},"badges":[],"link":"/chaty-ws/paths/~1user~1queue~1chat.delivered/get","deprecated":false},{"title":"/user/queue/chat.new_message","summary":"Подписка на новые входящие сообщения","prefix":{"name":"get","color":"get"},"badges":[],"link":"/chaty-ws/paths/~1user~1queue~1chat.new_message/get","deprecated":false},{"title":"/user/queue/chat.update_status_request","summary":"Подписка на обновление статуса request-сообщения","prefix":{"name":"get","color":"get"},"badges":[],"link":"/chaty-ws/paths/~1user~1queue~1chat.update_status_request/get","deprecated":false},{"title":"/user/queue/chat.read_message","summary":"Подписка на событие прочтения сообщений","prefix":{"name":"get","color":"get"},"badges":[],"link":"/chaty-ws/paths/~1user~1queue~1chat.read_message/get","deprecated":false},{"title":"/user/queue/chat.reaction","summary":"Подписка на реакции в сообщениях","prefix":{"name":"get","color":"get"},"badges":[],"link":"/chaty-ws/paths/~1user~1queue~1chat.reaction/get","deprecated":false},{"title":"/user/queue/chat.user_online_status","summary":"Подписка на online-статус собеседников","prefix":{"name":"get","color":"get"},"badges":[],"link":"/chaty-ws/paths/~1user~1queue~1chat.user_online_status/get","deprecated":false},{"title":"/user/queue/errors","summary":"Подписка на ошибки WebSocket-модуля мессенджера","prefix":{"name":"get","color":"get"},"badges":[],"link":"/chaty-ws/paths/~1user~1queue~1errors/get","deprecated":false}]}]}]}]}},{"type":"group","label":"Справочные подсказки","link":"/openapi/spravochnye-podskazki","routeSlug":"/openapi/spravochnye-podskazki","items":[{"label":"Получить справочную подсказку по коду","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/spravochnye-podskazki/paths/~1api~1reference-data~1hints~1{code}/get","routeSlug":"/openapi/spravochnye-podskazki/paths/~1api~1reference-data~1hints~1{code}/get","metadata":{"seo":{"title":"Получить справочную подсказку по коду","description":"Возвращает подсказку по code."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить справочную подсказку по коду","isWebhook":false,"pointer":"/paths/~1api~1reference-data~1hints~1{code}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить справочную подсказку по коду","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает подсказку по "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"code"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Коды подсказок:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"cancellation_conditions"},"children":[]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Название в интерфейсе: Условие отмены записи"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Описание: текст с правилами отмены/переноса записи и удержания оплаты."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Figma: https://www.figma.com/design/bsJd6rFh8FjMkmx9PeIf2C/Felmee?node-id=532-10834&t=xWyZ3rAllD8FCcOq-4"},"children":[]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"discount_description"},"children":[]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Название в интерфейсе: Описание скидки"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Описание: текст с пояснением персональной цены с учётом реферальной скидки."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Figma: https://www.figma.com/design/bsJd6rFh8FjMkmx9PeIf2C/Felmee?node-id=1296-30787&t=xWyZ3rAllD8FCcOq-4"},"children":[]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"working_time_description"},"children":[]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Название в интерфейсе: Рабочее время"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Описание: текст с пояснением времени на подготовку рабочего места и отдых."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Figma: https://www.figma.com/design/bsJd6rFh8FjMkmx9PeIf2C/Felmee?node-id=1303-32601&t=xWyZ3rAllD8FCcOq-4"},"children":[]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"breaks_description"},"children":[]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Название в интерфейсе: Перерывы"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Описание: текст с пояснением минимального времени, за которое клиент может записаться."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Figma: https://www.figma.com/design/bsJd6rFh8FjMkmx9PeIf2C/Felmee?node-id=1303-32982&t=xWyZ3rAllD8FCcOq-4"},"children":[]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"price_description"},"children":[]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Название в интерфейсе: Стоимость"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Описание: текст с пояснением постоянной и динамической стоимости."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Figma: https://www.figma.com/design/bsJd6rFh8FjMkmx9PeIf2C/Felmee?node-id=3473-27854&t=xWyZ3rAllD8FCcOq-4"},"children":[]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"analytics_period_description"},"children":[]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Название в интерфейсе: Период аналитики"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Описание: текст с пояснением сравнения с предыдущим периодом такой же длительности."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Figma: https://www.figma.com/design/bsJd6rFh8FjMkmx9PeIf2C/Felmee?node-id=3305-58099&t=xWyZ3rAllD8FCcOq-4"},"children":[]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"finance_total_description"},"children":[]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Название в интерфейсе: Финансы"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Описание: текст с пояснением итоговой суммы с учетом комиссии платформы."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Figma: https://www.figma.com/design/bsJd6rFh8FjMkmx9PeIf2C/Felmee?node-id=1696-25560&t=xWyZ3rAllD8FCcOq-4"},"children":[]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"dynamic_price_time_description"},"children":[]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Название в интерфейсе: Заполнение времени динамической цены"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Описание: текст с пояснением цены для времени, не покрытого диапазонами динамической стоимости."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Figma: https://www.figma.com/design/bsJd6rFh8FjMkmx9PeIf2C/Felmee?node-id=3713-12918&t=Zy96uToRPhFpShLi-4"},"children":[]}]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"code","in":"path","schemaId":"schema_181","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Стабильный код подсказки."},"children":[]}]}]}],"required":true,"example":"cancellation_conditions"}],"pointer":"/paths/~1api~1reference-data~1hints~1{code}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/reference-data/hints/{code}","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[{"name":"code","in":"path","required":true,"example":"cancellation_conditions","schemaId":"schema_181"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200","400","404"],"pointer":"/api/reference-data/hints/{code}","href":"spravochnye-podskazki/paths/~1api~1reference-data~1hints~1{code}/get","summary":"Получить справочную подсказку по коду"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Reference hint retrieved successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ReferenceHintApiResponse","exampleIds":["paths/~1api~1reference-data~1hints~1{code}/get/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/ReferenceHintApiResponse","exampleIds":["paths/~1api~1reference-data~1hints~1{code}/get/responses/200/content/application~1json/examples/ok"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Некорректное тело/параметр запроса, неизвестное enum-значение или ошибка валидации"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1reference-data~1hints~1{code}/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1reference-data~1hints~1{code}/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1reference-data~1hints~1{code}/get/responses/400/content/application~1json/examples/unsupported_enum"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1reference-data~1hints~1{code}/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1reference-data~1hints~1{code}/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1reference-data~1hints~1{code}/get/responses/400/content/application~1json/examples/unsupported_enum"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрошенный ресурс не найден"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1reference-data~1hints~1{code}/get/responses/404/content/application~1json/examples/not_found"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1reference-data~1hints~1{code}/get/responses/404/content/application~1json/examples/not_found"]}],"pointer":"/paths/~1api~1reference-data~1hints~1{code}/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/ReferenceHintApiResponse","exampleIds":["paths/~1api~1reference-data~1hints~1{code}/get/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ReferenceHintApiResponse","exampleIds":["paths/~1api~1reference-data~1hints~1{code}/get/responses/200/content/application~1json/examples/ok"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1reference-data~1hints~1{code}/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1reference-data~1hints~1{code}/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1reference-data~1hints~1{code}/get/responses/400/content/application~1json/examples/unsupported_enum"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1reference-data~1hints~1{code}/get/responses/400/content/application~1json/examples/invalid_body","paths/~1api~1reference-data~1hints~1{code}/get/responses/400/content/application~1json/examples/invalid_body_validation","paths/~1api~1reference-data~1hints~1{code}/get/responses/400/content/application~1json/examples/unsupported_enum"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1reference-data~1hints~1{code}/get/responses/404/content/application~1json/examples/not_found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1api~1reference-data~1hints~1{code}/get/responses/404/content/application~1json/examples/not_found"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/spravochnye-podskazki/paths/~1api~1reference-data~1hints~1{code}/get"}],"panels":[]}]},"httpPath":"/api/reference-data/hints/{code}"}],"content":{"contentType":"group","meta":{"name":"Справочные подсказки"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Справочные подсказки","showPageActions":true}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/api/reference-data/hints/{code}","summary":"Получить справочную подсказку по коду","prefix":{"name":"get","color":"get"},"badges":[],"link":"/spravochnye-podskazki/paths/~1api~1reference-data~1hints~1{code}/get","deprecated":false}]}]}]}]}},{"type":"group","label":"Справочные списки","link":"/openapi/spravochnye-spiski","routeSlug":"/openapi/spravochnye-spiski","items":[{"label":"Получить список причин жалобы","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/spravochnye-spiski/paths/~1api~1reference-data~1lists~1complaint-reasons/get","routeSlug":"/openapi/spravochnye-spiski/paths/~1api~1reference-data~1lists~1complaint-reasons/get","metadata":{"seo":{"title":"Получить список причин жалобы","description":"Возвращает список причин жалобы."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить список причин жалобы","isWebhook":false,"pointer":"/paths/~1api~1reference-data~1lists~1complaint-reasons/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить список причин жалобы","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает список причин жалобы."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Документация списка:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Тег: списки"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Описание: причина жалобы"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Figma: https://www.figma.com/design/bsJd6rFh8FjMkmx9PeIf2C/Felmee?node-id=1401-25038&t=xWyZ3rAllD8FCcOq-4"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Текущие значения моковые, пока финальный список причин не утвержден."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/reference-data/lists/complaint-reasons","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200"],"pointer":"/api/reference-data/lists/complaint-reasons","href":"spravochnye-spiski/paths/~1api~1reference-data~1lists~1complaint-reasons/get","summary":"Получить список причин жалобы"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Reference list retrieved successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ReferenceStringListApiResponse","exampleIds":["paths/~1api~1reference-data~1lists~1complaint-reasons/get/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/ReferenceStringListApiResponse","exampleIds":["paths/~1api~1reference-data~1lists~1complaint-reasons/get/responses/200/content/application~1json/examples/ok"]}],"pointer":"/paths/~1api~1reference-data~1lists~1complaint-reasons/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/ReferenceStringListApiResponse","exampleIds":["paths/~1api~1reference-data~1lists~1complaint-reasons/get/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ReferenceStringListApiResponse","exampleIds":["paths/~1api~1reference-data~1lists~1complaint-reasons/get/responses/200/content/application~1json/examples/ok"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/spravochnye-spiski/paths/~1api~1reference-data~1lists~1complaint-reasons/get"}],"panels":[]}]},"httpPath":"/api/reference-data/lists/complaint-reasons"},{"label":"Получить список причин удаления аккаунта","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/spravochnye-spiski/paths/~1api~1reference-data~1lists~1account-deletion-reasons/get","routeSlug":"/openapi/spravochnye-spiski/paths/~1api~1reference-data~1lists~1account-deletion-reasons/get","metadata":{"seo":{"title":"Получить список причин удаления аккаунта","description":"Возвращает список причин удаления аккаунта."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить список причин удаления аккаунта","isWebhook":false,"pointer":"/paths/~1api~1reference-data~1lists~1account-deletion-reasons/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить список причин удаления аккаунта","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает список причин удаления аккаунта."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Документация списка:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Тег: списки"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Описание: причина удаления аккаунта"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Figma: https://www.figma.com/design/bsJd6rFh8FjMkmx9PeIf2C/Felmee?node-id=954-22572&t=xWyZ3rAllD8FCcOq-4"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Пункт "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Другое"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" не возвращается."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/reference-data/lists/account-deletion-reasons","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200"],"pointer":"/api/reference-data/lists/account-deletion-reasons","href":"spravochnye-spiski/paths/~1api~1reference-data~1lists~1account-deletion-reasons/get","summary":"Получить список причин удаления аккаунта"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Reference list retrieved successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ReferenceStringListApiResponse","exampleIds":["paths/~1api~1reference-data~1lists~1account-deletion-reasons/get/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/ReferenceStringListApiResponse","exampleIds":["paths/~1api~1reference-data~1lists~1account-deletion-reasons/get/responses/200/content/application~1json/examples/ok"]}],"pointer":"/paths/~1api~1reference-data~1lists~1account-deletion-reasons/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/ReferenceStringListApiResponse","exampleIds":["paths/~1api~1reference-data~1lists~1account-deletion-reasons/get/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ReferenceStringListApiResponse","exampleIds":["paths/~1api~1reference-data~1lists~1account-deletion-reasons/get/responses/200/content/application~1json/examples/ok"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/spravochnye-spiski/paths/~1api~1reference-data~1lists~1account-deletion-reasons/get"}],"panels":[]}]},"httpPath":"/api/reference-data/lists/account-deletion-reasons"},{"label":"Получить список причин отмены записи","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/spravochnye-spiski/paths/~1api~1reference-data~1lists~1record-cancellation-reasons/get","routeSlug":"/openapi/spravochnye-spiski/paths/~1api~1reference-data~1lists~1record-cancellation-reasons/get","metadata":{"seo":{"title":"Получить список причин отмены записи","description":"Возвращает список причин отмены записи."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить список причин отмены записи","isWebhook":false,"pointer":"/paths/~1api~1reference-data~1lists~1record-cancellation-reasons/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить список причин отмены записи","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает список причин отмены записи."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Документация списка:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Тег: списки"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Описание: причина отмены записи"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Figma: https://www.figma.com/design/bsJd6rFh8FjMkmx9PeIf2C/Felmee?node-id=1103-22756&t=xWyZ3rAllD8FCcOq-4"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Пункт "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Другое"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" не возвращается."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/reference-data/lists/record-cancellation-reasons","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200"],"pointer":"/api/reference-data/lists/record-cancellation-reasons","href":"spravochnye-spiski/paths/~1api~1reference-data~1lists~1record-cancellation-reasons/get","summary":"Получить список причин отмены записи"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Reference list retrieved successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ReferenceStringListApiResponse","exampleIds":["paths/~1api~1reference-data~1lists~1record-cancellation-reasons/get/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/ReferenceStringListApiResponse","exampleIds":["paths/~1api~1reference-data~1lists~1record-cancellation-reasons/get/responses/200/content/application~1json/examples/ok"]}],"pointer":"/paths/~1api~1reference-data~1lists~1record-cancellation-reasons/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/ReferenceStringListApiResponse","exampleIds":["paths/~1api~1reference-data~1lists~1record-cancellation-reasons/get/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ReferenceStringListApiResponse","exampleIds":["paths/~1api~1reference-data~1lists~1record-cancellation-reasons/get/responses/200/content/application~1json/examples/ok"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/spravochnye-spiski/paths/~1api~1reference-data~1lists~1record-cancellation-reasons/get"}],"panels":[]}]},"httpPath":"/api/reference-data/lists/record-cancellation-reasons"},{"label":"Получить список причин отказа доплаты","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/spravochnye-spiski/paths/~1api~1reference-data~1lists~1surcharge-rejection-reasons/get","routeSlug":"/openapi/spravochnye-spiski/paths/~1api~1reference-data~1lists~1surcharge-rejection-reasons/get","metadata":{"seo":{"title":"Получить список причин отказа доплаты","description":"Возвращает список причин отказа доплаты."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Получить список причин отказа доплаты","isWebhook":false,"pointer":"/paths/~1api~1reference-data~1lists~1surcharge-rejection-reasons/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Получить список причин отказа доплаты","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Возвращает список причин отказа доплаты."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Документация списка:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Тег: списки"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Описание: причина отказа доплаты"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Figma: https://www.figma.com/design/bsJd6rFh8FjMkmx9PeIf2C/Felmee?node-id=1807-46150&t=Zy96uToRPhFpShLi-4"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Пункт "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Другое"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" не возвращается."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/reference-data/lists/surcharge-rejection-reasons","servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200"],"pointer":"/api/reference-data/lists/surcharge-rejection-reasons","href":"spravochnye-spiski/paths/~1api~1reference-data~1lists~1surcharge-rejection-reasons/get","summary":"Получить список причин отказа доплаты"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Reference list retrieved successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ReferenceStringListApiResponse","exampleIds":["paths/~1api~1reference-data~1lists~1surcharge-rejection-reasons/get/responses/200/content/application~1json/examples/ok"]}},"schemaId":"components/schemas/ReferenceStringListApiResponse","exampleIds":["paths/~1api~1reference-data~1lists~1surcharge-rejection-reasons/get/responses/200/content/application~1json/examples/ok"]}],"pointer":"/paths/~1api~1reference-data~1lists~1surcharge-rejection-reasons/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/ReferenceStringListApiResponse","exampleIds":["paths/~1api~1reference-data~1lists~1surcharge-rejection-reasons/get/responses/200/content/application~1json/examples/ok"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ReferenceStringListApiResponse","exampleIds":["paths/~1api~1reference-data~1lists~1surcharge-rejection-reasons/get/responses/200/content/application~1json/examples/ok"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/spravochnye-spiski/paths/~1api~1reference-data~1lists~1surcharge-rejection-reasons/get"}],"panels":[]}]},"httpPath":"/api/reference-data/lists/surcharge-rejection-reasons"}],"content":{"contentType":"group","meta":{"name":"Справочные списки"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Справочные списки","showPageActions":true}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/api/reference-data/lists/complaint-reasons","summary":"Получить список причин жалобы","prefix":{"name":"get","color":"get"},"badges":[],"link":"/spravochnye-spiski/paths/~1api~1reference-data~1lists~1complaint-reasons/get","deprecated":false},{"title":"/api/reference-data/lists/account-deletion-reasons","summary":"Получить список причин удаления аккаунта","prefix":{"name":"get","color":"get"},"badges":[],"link":"/spravochnye-spiski/paths/~1api~1reference-data~1lists~1account-deletion-reasons/get","deprecated":false},{"title":"/api/reference-data/lists/record-cancellation-reasons","summary":"Получить список причин отмены записи","prefix":{"name":"get","color":"get"},"badges":[],"link":"/spravochnye-spiski/paths/~1api~1reference-data~1lists~1record-cancellation-reasons/get","deprecated":false},{"title":"/api/reference-data/lists/surcharge-rejection-reasons","summary":"Получить список причин отказа доплаты","prefix":{"name":"get","color":"get"},"badges":[],"link":"/spravochnye-spiski/paths/~1api~1reference-data~1lists~1surcharge-rejection-reasons/get","deprecated":false}]}]}]}]}}],"store":{"schemaStore":{"components/schemas/ComparisonSelectionRequest":{"id":"components/schemas/ComparisonSelectionRequest","kind":"json-schema","title":"ComparisonSelectionRequest","data":{"type":"object","required":["servicesId"],"properties":{"servicesId":{"type":"array","minItems":1,"maxItems":4,"uniqueItems":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID услуг из сравнения текущего пользователя."},"children":[]}]}]}],"items":{"type":"integer","format":"int64","minimum":1}}}}},"components/schemas/ComparisonMaster":{"id":"components/schemas/ComparisonMaster","kind":"json-schema","title":"ComparisonMaster","data":{"type":"object","required":["id","img","full_name","experience_years"],"properties":{"id":{"type":"integer","format":"int64","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID пользователя-мастера."},"children":[]}]}]}]},"img":{"type":"integer","format":"int64","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID файла аватара."},"children":[]}]}]}]},"full_name":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Имя и фамилия мастера."},"children":[]}]}]}]},"experience_years":{"type":"integer","format":"int64","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Стаж в годах."},"children":[]}]}]}]}}}},"components/schemas/ComparisonPreview":{"id":"components/schemas/ComparisonPreview","kind":"json-schema","title":"ComparisonPreview","data":{"type":"object","required":["id","name","duration","price","rating","count_review","img"],"properties":{"id":{"type":"integer","format":"int64","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID услуги."},"children":[]}]}]}]},"name":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Название услуги."},"children":[]}]}]}]},"duration":{"type":"integer","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Длительность в минутах."},"children":[]}]}]}]},"price":{"type":"integer","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Текущая цена с учётом временного тарифа и скидки."},"children":[]}]}]}]},"rating":{"type":"number","format":"double","nullable":true},"count_review":{"type":"integer","format":"int64","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Количество отзывов."},"children":[]}]}]}]},"img":{"type":"integer","format":"int64","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID первого фото услуги."},"children":[]}]}]}]}}}},"components/schemas/ComparisonDetails":{"id":"components/schemas/ComparisonDetails","kind":"json-schema","title":"ComparisonDetails","data":{"type":"object","required":["id","imgs","name","price","rating","count_review","duration","next_appointmentAt","address","distance_meters","advantages","masters"],"properties":{"id":{"type":"integer","format":"int64","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID услуги."},"children":[]}]}]}]},"imgs":{"type":"array","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID фотографий услуги."},"children":[]}]}]}],"items":{"type":"integer","format":"int64"}},"name":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Имя индивидуального мастера или название салона."},"children":[]}]}]}]},"price":{"type":"integer","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Текущая цена с учётом временного тарифа и скидки."},"children":[]}]}]}]},"rating":{"type":"number","format":"double","nullable":true},"count_review":{"type":"integer","format":"int64","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Количество отзывов."},"children":[]}]}]}]},"duration":{"type":"integer","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Длительность в минутах."},"children":[]}]}]}]},"next_appointmentAt":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Ближайшее доступное время по Europe/Minsk без UTC-смещения; null — время не найдено."},"children":[]}]}]}],"example":"2026-09-06T10:00:00"},"address":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Адрес услуги."},"children":[]}]}]}]},"distance_meters":{"type":"integer","format":"int64","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Расстояние по прямой от сохранённых координат клиента до услуги в метрах; null — координат нет."},"children":[]}]}]}]},"advantages":{"type":"array","nullable":true,"items":{"type":"string"}},"masters":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Индивидуальный мастер или назначенные на услугу мастера салона."},"children":[]}]}]}],"items":{"$ref":"#/components/schemas/ComparisonMaster"}}}}},"components/schemas/ComparisonPreviewListResponse":{"id":"components/schemas/ComparisonPreviewListResponse","kind":"json-schema","title":"ComparisonPreviewListResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ComparisonPreview"}}}}},"components/schemas/ComparisonDetailsResponse":{"id":"components/schemas/ComparisonDetailsResponse","kind":"json-schema","title":"ComparisonDetailsResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ComparisonDetails"}}}}},"components/schemas/ComparisonAddResponse":{"id":"components/schemas/ComparisonAddResponse","kind":"json-schema","title":"ComparisonAddResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"type":"object","required":["remainingCount"],"properties":{"remainingCount":{"type":"integer","format":"int64","minimum":0,"maximum":3,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Сколько ещё услуг этой категории можно добавить."},"children":[]}]}]}]}}}}}},"components/schemas/ModerationStatus":{"id":"components/schemas/ModerationStatus","kind":"json-schema","title":"ModerationStatus","data":{"type":"string","enum":["PENDING","APPROVED","REJECTED"]}},"components/schemas/ModerationSubjectType":{"id":"components/schemas/ModerationSubjectType","kind":"json-schema","title":"ModerationSubjectType","data":{"type":"string","enum":["MASTER","SALON"]}},"components/schemas/ModerationReviewer":{"id":"components/schemas/ModerationReviewer","kind":"json-schema","title":"ModerationReviewer","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Администратор, принявший решение по заявке."},"children":[]}]}]}],"required":["user_id","first_name","last_name"],"properties":{"user_id":{"type":"integer","format":"int64"},"first_name":{"type":"string","nullable":true},"last_name":{"type":"string","nullable":true}}}},"components/schemas/ModerationListItem":{"id":"components/schemas/ModerationListItem","kind":"json-schema","title":"ModerationListItem","data":{"type":"object","required":["request_id","profile_id","name","role","services_count","status","submitted_at"],"properties":{"request_id":{"type":"integer","format":"int64"},"profile_id":{"type":"integer","format":"int64"},"name":{"type":"string"},"avatar":{"type":"integer","format":"int64","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID изображения профиля"},"children":[]}]}]}]},"role":{"$ref":"#/components/schemas/ModerationSubjectType"},"city":{"type":"string","nullable":true},"services_count":{"type":"integer","format":"int64","minimum":0},"status":{"$ref":"#/components/schemas/ModerationStatus"},"submitted_at":{"type":"string","format":"date-time"},"reviewed_at":{"type":"string","format":"date-time","nullable":true},"reviewed_by":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/ModerationReviewer"}]},"rejection_comment":{"type":"string","nullable":true,"maxLength":1000}}}},"components/schemas/ModerationRequestPage":{"id":"components/schemas/ModerationRequestPage","kind":"json-schema","title":"ModerationRequestPage","data":{"type":"object","required":["items","offset","limit","has_more","total_count"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ModerationListItem"}},"offset":{"type":"integer","minimum":0},"limit":{"type":"integer","minimum":1,"maximum":100},"has_more":{"type":"boolean"},"total_count":{"type":"integer","format":"int64","minimum":0}}}},"components/schemas/AdminPanelSection":{"id":"components/schemas/AdminPanelSection","kind":"json-schema","title":"AdminPanelSection","data":{"type":"string","enum":["BUSINESS_OVERVIEW","CLIENTS","MASTERS_AND_SALONS","RECORDS","CATEGORIES","REFERRAL_PROGRAM","LOYALTY_PROGRAM","BONUSES_AND_BALANCES","REFUNDS","SUPPORT","COMPLAINTS","NOTIFICATIONS","ACTION_HISTORY","ROLES"]}},"components/schemas/AdminPanelPermissionLevel":{"id":"components/schemas/AdminPanelPermissionLevel","kind":"json-schema","title":"AdminPanelPermissionLevel","data":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"NONE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — раздел недоступен, "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"READ"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — доступен просмотр,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"FULL"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — доступны просмотр и изменение данных."},"children":[]}]}]}],"enum":["NONE","READ","FULL"]}},"components/schemas/AdminEmployeeListItem":{"id":"components/schemas/AdminEmployeeListItem","kind":"json-schema","title":"AdminEmployeeListItem","data":{"type":"object","required":["user_id","first_name","last_name"],"properties":{"user_id":{"type":"integer","format":"int64","minimum":1},"first_name":{"type":"string","maxLength":100},"last_name":{"type":"string","maxLength":100}}}},"components/schemas/AdminEmployee":{"id":"components/schemas/AdminEmployee","kind":"json-schema","title":"AdminEmployee","data":{"allOf":[{"$ref":"#/components/schemas/AdminEmployeeListItem"},{"type":"object","required":["phone"],"properties":{"phone":{"type":"string","example":"79990000001"}}}]}},"components/schemas/CreateAdminEmployeeBody":{"id":"components/schemas/CreateAdminEmployeeBody","kind":"json-schema","title":"CreateAdminEmployeeBody","data":{"type":"object","required":["first_name","last_name","phone"],"additionalProperties":false,"properties":{"first_name":{"type":"string","minLength":1,"maxLength":100,"pattern":"^[А-Яа-яЁё]+$"},"last_name":{"type":"string","minLength":1,"maxLength":100,"pattern":"^[А-Яа-яЁё]+$"},"phone":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Российский номер в произвольном пользовательском формате."},"children":[]}]}]}],"maxLength":32}}}},"components/schemas/UpdateAdminEmployeeBody":{"id":"components/schemas/UpdateAdminEmployeeBody","kind":"json-schema","title":"UpdateAdminEmployeeBody","data":{"type":"object","minProperties":1,"additionalProperties":false,"properties":{"first_name":{"type":"string","minLength":1,"maxLength":100,"pattern":"^[А-Яа-яЁё]+$"},"last_name":{"type":"string","minLength":1,"maxLength":100,"pattern":"^[А-Яа-яЁё]+$"},"phone":{"type":"string","maxLength":32}}}},"components/schemas/AdminEmployeePermission":{"id":"components/schemas/AdminEmployeePermission","kind":"json-schema","title":"AdminEmployeePermission","data":{"type":"object","required":["section","name","access_level"],"properties":{"section":{"$ref":"#/components/schemas/AdminPanelSection"},"name":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Название раздела для отображения."},"children":[]}]}]}]},"access_level":{"$ref":"#/components/schemas/AdminPanelPermissionLevel"}}}},"components/schemas/AdminEmployeePermissionUpdate":{"id":"components/schemas/AdminEmployeePermissionUpdate","kind":"json-schema","title":"AdminEmployeePermissionUpdate","data":{"type":"object","required":["section","access_level"],"additionalProperties":false,"properties":{"section":{"$ref":"#/components/schemas/AdminPanelSection"},"access_level":{"$ref":"#/components/schemas/AdminPanelPermissionLevel"}}}},"components/schemas/AdminEmployeePermissions":{"id":"components/schemas/AdminEmployeePermissions","kind":"json-schema","title":"AdminEmployeePermissions","data":{"type":"object","required":["user_id","permissions"],"properties":{"user_id":{"type":"integer","format":"int64","minimum":1},"permissions":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Все разделы админ-панели в порядке отображения, включая разделы с уровнем NONE."},"children":[]}]}]}],"minItems":14,"maxItems":14,"items":{"$ref":"#/components/schemas/AdminEmployeePermission"}}}}},"components/schemas/AdminEmployeeListApiResponse":{"id":"components/schemas/AdminEmployeeListApiResponse","kind":"json-schema","title":"AdminEmployeeListApiResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"},{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/AdminEmployeeListItem"}}}}]}},"components/schemas/AdminEmployeeApiResponse":{"id":"components/schemas/AdminEmployeeApiResponse","kind":"json-schema","title":"AdminEmployeeApiResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"},{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/AdminEmployee"}}}]}},"components/schemas/AdminEmployeePermissionsApiResponse":{"id":"components/schemas/AdminEmployeePermissionsApiResponse","kind":"json-schema","title":"AdminEmployeePermissionsApiResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"},{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/AdminEmployeePermissions"}}}]}},"components/schemas/ModerationDecision":{"id":"components/schemas/ModerationDecision","kind":"json-schema","title":"ModerationDecision","data":{"type":"object","required":["request_id","status","reviewed_at","reviewed_by"],"properties":{"request_id":{"type":"integer","format":"int64"},"status":{"$ref":"#/components/schemas/ModerationStatus"},"reviewed_at":{"type":"string","format":"date-time"},"reviewed_by":{"$ref":"#/components/schemas/ModerationReviewer"},"rejection_comment":{"type":"string","nullable":true,"maxLength":1000}}}},"components/schemas/ModerationSubmission":{"id":"components/schemas/ModerationSubmission","kind":"json-schema","title":"ModerationSubmission","data":{"type":"object","required":["request_id","profile_id","role","status","submitted_at"],"properties":{"request_id":{"type":"integer","format":"int64"},"profile_id":{"type":"integer","format":"int64"},"role":{"$ref":"#/components/schemas/ModerationSubjectType"},"status":{"$ref":"#/components/schemas/ModerationStatus"},"submitted_at":{"type":"string","format":"date-time"}}}},"components/schemas/RejectModerationRequestBody":{"id":"components/schemas/RejectModerationRequestBody","kind":"json-schema","title":"RejectModerationRequestBody","data":{"type":"object","required":["comment"],"properties":{"comment":{"type":"string","minLength":1,"maxLength":1000}}}},"components/schemas/AdminModerationListApiResponse":{"id":"components/schemas/AdminModerationListApiResponse","kind":"json-schema","title":"AdminModerationListApiResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"},{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/ModerationRequestPage"}}}]}},"components/schemas/AdminModerationDecisionApiResponse":{"id":"components/schemas/AdminModerationDecisionApiResponse","kind":"json-schema","title":"AdminModerationDecisionApiResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"},{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/ModerationDecision"}}}]}},"components/schemas/AdminModerationSubmissionApiResponse":{"id":"components/schemas/AdminModerationSubmissionApiResponse","kind":"json-schema","title":"AdminModerationSubmissionApiResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"},{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/ModerationSubmission"}}}]}},"components/schemas/NotificationExecutionMode":{"id":"components/schemas/NotificationExecutionMode","kind":"json-schema","title":"NotificationExecutionMode","data":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CONTINUOUS"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — постоянное правило; "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SCHEDULED_ONCE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — разовая рассылка."},"children":[]}]}]}],"enum":["CONTINUOUS","SCHEDULED_ONCE"]}},"components/schemas/NotificationAudience":{"id":"components/schemas/NotificationAudience","kind":"json-schema","title":"NotificationAudience","data":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Группа пользователей, для которой предназначено уведомление."},"children":[]}]}]}],"enum":["ALL","CLIENTS","MASTERS","SALONS"]}},"components/schemas/NotificationChannel":{"id":"components/schemas/NotificationChannel","kind":"json-schema","title":"NotificationChannel","data":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Канал доставки. SMS не поддерживается."},"children":[]}]}]}],"enum":["IN_APP","PUSH","EMAIL"]}},"components/schemas/NotificationEvent":{"id":"components/schemas/NotificationEvent","kind":"json-schema","title":"NotificationEvent","data":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Событие триггера или дополнительного условия."},"children":[]}]}]}],"enum":["USER_REGISTERED","PROFILE_COMPLETED","PHONE_CONFIRMED","SERVICE_PURCHASED","RECORD_CREATED","RECORD_CONFIRMED","RECORD_RESCHEDULED","RECORD_CANCELED","RECORD_COMPLETED","RECORD_STARTING","PAYMENT_SUCCEEDED","PAYMENT_FAILED","NEW_MESSAGE_RECEIVED","SUPPORT_REPLY_RECEIVED","REVIEW_CREATED","REVIEW_REQUESTED","REPEAT_RECORD_CREATED"]}},"components/schemas/NotificationTriggerTiming":{"id":"components/schemas/NotificationTriggerTiming","kind":"json-schema","title":"NotificationTriggerTiming","data":{"type":"string","enum":["IMMEDIATELY","AFTER","BEFORE"]}},"components/schemas/NotificationDelayUnit":{"id":"components/schemas/NotificationDelayUnit","kind":"json-schema","title":"NotificationDelayUnit","data":{"type":"string","enum":["MINUTES","HOURS","DAYS"]}},"components/schemas/NotificationConditionOperator":{"id":"components/schemas/NotificationConditionOperator","kind":"json-schema","title":"NotificationConditionOperator","data":{"type":"string","enum":["OCCURRED","NOT_OCCURRED"]}},"components/schemas/AdminNotificationExecution":{"id":"components/schemas/AdminNotificationExecution","kind":"json-schema","title":"AdminNotificationExecution","data":{"type":"object","additionalProperties":false,"required":["mode"],"properties":{"mode":{"$ref":"#/components/schemas/NotificationExecutionMode"},"scheduled_at":{"type":"string","format":"date-time","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Обязательно только для "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SCHEDULED_ONCE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; должно находиться в будущем."},"children":[]}]}]}],"example":"2026-10-21T16:00:00+03:00"}}}},"components/schemas/AdminNotificationDelay":{"id":"components/schemas/AdminNotificationDelay","kind":"json-schema","title":"AdminNotificationDelay","data":{"type":"object","additionalProperties":false,"required":["value","unit"],"properties":{"value":{"type":"integer","minimum":1},"unit":{"$ref":"#/components/schemas/NotificationDelayUnit"}}}},"components/schemas/AdminNotificationTrigger":{"id":"components/schemas/AdminNotificationTrigger","kind":"json-schema","title":"AdminNotificationTrigger","data":{"type":"object","additionalProperties":false,"required":["event","timing"],"properties":{"event":{"$ref":"#/components/schemas/NotificationEvent"},"timing":{"$ref":"#/components/schemas/NotificationTriggerTiming"},"delay":{"nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Не передаётся для "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"IMMEDIATELY"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; обязательно для "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"AFTER"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"BEFORE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"allOf":[{"$ref":"#/components/schemas/AdminNotificationDelay"}]}}}},"components/schemas/AdminNotificationConditionBody":{"id":"components/schemas/AdminNotificationConditionBody","kind":"json-schema","title":"AdminNotificationConditionBody","data":{"type":"object","additionalProperties":false,"required":["event","operator"],"properties":{"id":{"type":"integer","format":"int64","minimum":1,"nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"При создании правила не передаётся; при PATCH сохраняет существующее условие."},"children":[]}]}]}]},"event":{"$ref":"#/components/schemas/NotificationEvent"},"operator":{"$ref":"#/components/schemas/NotificationConditionOperator"}}}},"components/schemas/CreateAdminNotificationBody":{"id":"components/schemas/CreateAdminNotificationBody","kind":"json-schema","title":"CreateAdminNotificationBody","data":{"type":"object","additionalProperties":false,"required":["execution","trigger","conditions","audience","channels","title","message"],"properties":{"execution":{"$ref":"#/components/schemas/AdminNotificationExecution"},"trigger":{"$ref":"#/components/schemas/AdminNotificationTrigger"},"conditions":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Произвольное количество условий в порядке отображения; все объединяются через AND."},"children":[]}]}]}],"items":{"$ref":"#/components/schemas/AdminNotificationConditionBody"}},"audience":{"$ref":"#/components/schemas/NotificationAudience"},"channels":{"type":"array","minItems":1,"maxItems":3,"uniqueItems":true,"items":{"$ref":"#/components/schemas/NotificationChannel"}},"title":{"type":"string","minLength":1,"maxLength":255,"pattern":".*\\S.*"},"message":{"type":"string","minLength":1,"maxLength":4000,"pattern":".*\\S.*"}}}},"components/schemas/UpdateAdminNotificationBody":{"id":"components/schemas/UpdateAdminNotificationBody","kind":"json-schema","title":"UpdateAdminNotificationBody","data":{"type":"object","additionalProperties":false,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Частичное обновление; должно быть передано хотя бы одно поле."},"children":[]}]}]}],"properties":{"execution":{"$ref":"#/components/schemas/AdminNotificationExecution"},"trigger":{"$ref":"#/components/schemas/AdminNotificationTrigger"},"conditions":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Полный новый упорядоченный список условий. Пустой массив удаляет все условия."},"children":[]}]}]}],"items":{"$ref":"#/components/schemas/AdminNotificationConditionBody"}},"audience":{"$ref":"#/components/schemas/NotificationAudience"},"channels":{"type":"array","minItems":1,"maxItems":3,"uniqueItems":true,"items":{"$ref":"#/components/schemas/NotificationChannel"}},"title":{"type":"string","minLength":1,"maxLength":255,"pattern":".*\\S.*"},"message":{"type":"string","minLength":1,"maxLength":4000,"pattern":".*\\S.*"},"enabled":{"type":"boolean"}}}},"components/schemas/AdminNotificationCondition":{"id":"components/schemas/AdminNotificationCondition","kind":"json-schema","title":"AdminNotificationCondition","data":{"allOf":[{"$ref":"#/components/schemas/AdminNotificationConditionBody"},{"type":"object","required":["id","position"],"properties":{"id":{"type":"integer","format":"int64","minimum":1},"position":{"type":"integer","minimum":0}}}]}},"components/schemas/AdminNotification":{"id":"components/schemas/AdminNotification","kind":"json-schema","title":"AdminNotification","data":{"type":"object","additionalProperties":false,"required":["id","execution","trigger","conditions","audience","channels","title","message","enabled","created_by","created_at","updated_at"],"properties":{"id":{"type":"integer","format":"int64","minimum":1},"execution":{"$ref":"#/components/schemas/AdminNotificationExecution"},"trigger":{"$ref":"#/components/schemas/AdminNotificationTrigger"},"conditions":{"type":"array","items":{"$ref":"#/components/schemas/AdminNotificationCondition"}},"audience":{"$ref":"#/components/schemas/NotificationAudience"},"channels":{"type":"array","uniqueItems":true,"items":{"$ref":"#/components/schemas/NotificationChannel"}},"title":{"type":"string"},"message":{"type":"string"},"enabled":{"type":"boolean"},"created_by":{"type":"integer","format":"int64"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}}},"components/schemas/AdminNotificationPage":{"id":"components/schemas/AdminNotificationPage","kind":"json-schema","title":"AdminNotificationPage","data":{"type":"object","additionalProperties":false,"required":["items","offset","limit","has_more"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/AdminNotification"}},"offset":{"type":"integer","minimum":0},"limit":{"type":"integer","minimum":1,"maximum":100},"has_more":{"type":"boolean"}}}},"components/schemas/AdminNotificationApiResponse":{"id":"components/schemas/AdminNotificationApiResponse","kind":"json-schema","title":"AdminNotificationApiResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"},{"type":"object","properties":{"data":{"$ref":"#/components/schemas/AdminNotification"}}}]}},"components/schemas/AdminNotificationListApiResponse":{"id":"components/schemas/AdminNotificationListApiResponse","kind":"json-schema","title":"AdminNotificationListApiResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"},{"type":"object","properties":{"data":{"$ref":"#/components/schemas/AdminNotificationPage"}}}]}},"components/schemas/DeleteAdminNotificationApiResponse":{"id":"components/schemas/DeleteAdminNotificationApiResponse","kind":"json-schema","title":"DeleteAdminNotificationApiResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"},{"type":"object","properties":{"data":{"type":"object","required":["deleted"],"properties":{"deleted":{"type":"boolean","example":true}}}}}]}},"components/schemas/MetroStationListApiResponse":{"id":"components/schemas/MetroStationListApiResponse","kind":"json-schema","title":"MetroStationListApiResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/MetroStationOption"}}}}},"components/schemas/MetroStationOption":{"id":"components/schemas/MetroStationOption","kind":"json-schema","title":"MetroStationOption","data":{"type":"object","required":["name","color_balls"],"properties":{"name":{"type":"string","example":"Курская"},"color_balls":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Цвета кружков линий станции. Для пересадочной станции цветов несколько."},"children":[]}]}]}],"items":{"type":"string","pattern":"^#[0-9A-Fa-f]{6}$"},"example":["#0072BA","#894E35","#A1B3D4"]}}}},"components/schemas/MetroLineListApiResponse":{"id":"components/schemas/MetroLineListApiResponse","kind":"json-schema","title":"MetroLineListApiResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/MetroLineOption"}}}}},"components/schemas/MetroLineOption":{"id":"components/schemas/MetroLineOption","kind":"json-schema","title":"MetroLineOption","data":{"type":"object","required":["name_line","color_line","stations"],"properties":{"name_line":{"type":"string","example":"Арбатско-Покровская"},"color_line":{"type":"string","pattern":"^#[0-9A-Fa-f]{6}$","example":"#0072BA"},"stations":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Уникальные названия станций линии по русскому алфавиту."},"children":[]}]}]}],"items":{"type":"string"},"example":["Арбатская","Бауманская","Щёлковская"]}}}},"components/schemas/DistrictNameListApiResponse":{"id":"components/schemas/DistrictNameListApiResponse","kind":"json-schema","title":"DistrictNameListApiResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Названия районов в алфавитном порядке. Геометрия клиенту не передаётся."},"children":[]}]}]}],"items":{"type":"string"},"example":["Академический","Басманный","Тверской"]}}}},"components/schemas/PlaceSearchListApiResponse":{"id":"components/schemas/PlaceSearchListApiResponse","kind":"json-schema","title":"PlaceSearchListApiResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/PlaceSearchItem"}}}}},"components/schemas/PlaceSearchItem":{"id":"components/schemas/PlaceSearchItem","kind":"json-schema","title":"PlaceSearchItem","data":{"type":"object","additionalProperties":false,"required":["name","region","district","fias_id","type","has_metro","has_districts"],"properties":{"name":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Название населённого пункта вместе с типом."},"children":[]}]}]}],"example":"г Москва"},"region":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Область или другой субъект Российской Федерации."},"children":[]}]}]}],"example":"Москва"},"district":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Район или округ населённого пункта."},"children":[]}]}]}],"example":"Краснинский район"},"fias_id":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"FIAS ID населённого пункта."},"children":[]}]}]}],"example":"0c2b5982-132d-4941-8fad-c94c6334fc91"},"type":{"type":"string","enum":["city","settlement"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Поле DaData, по которому нужно фильтровать адреса."},"children":[]}]}]}]},"has_metro":{"type":"boolean","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Есть ли для города справочник метро."},"children":[]}]}]}],"example":true},"has_districts":{"type":"boolean","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Есть ли для города районы в индексе районов."},"children":[]}]}]}],"example":true}}}},"components/schemas/ERROR_CODE":{"id":"components/schemas/ERROR_CODE","kind":"json-schema","title":"ERROR_CODE","data":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Машинный код ошибки, который backend возвращает в поле "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"error_code"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"enum":["invalid_body","unauthorized","not_found","conflict","object_modified_by_another_thread","action_too_late","too_many_request","code_is_gone","forbidden","user_blocked","salon_permission_denied","geocoding_failed","conflicting_geo_filters","address_suggestions_failed","invalid_captcha","internal_error"]}},"components/schemas/BaseResponse":{"id":"components/schemas/BaseResponse","kind":"json-schema","title":"BaseResponse","data":{"type":"object","required":["success","message","codeError","error_code","data"],"properties":{"codeError":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Устаревший camelCase-alias поля "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"error_code"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; при ошибке оба поля содержат одинаковое значение."},"children":[]}]}]}]},"success":{"type":"boolean","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Флаг успешного выполнения запроса"},"children":[]}]}]}]},"message":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Человекочитаемое описание результата"},"children":[]}]}]}]},"error_code":{"allOf":[{"$ref":"#/components/schemas/ERROR_CODE"}],"nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Код ошибки. Для успешных ответов всегда "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},"data":{"nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Полезная нагрузка. Может быть объектом, массивом или "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}}}},"components/schemas/SuccessNullResponse":{"id":"components/schemas/SuccessNullResponse","kind":"json-schema","title":"SuccessNullResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"example":{"success":true,"message":"OK","error_code":null,"data":null}}},"components/schemas/ErrorResponse":{"id":"components/schemas/ErrorResponse","kind":"json-schema","title":"ErrorResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"example":{"success":false,"message":"Error","error_code":"invalid_body","data":null}}},"components/schemas/TooManyRequestData":{"id":"components/schemas/TooManyRequestData","kind":"json-schema","title":"TooManyRequestData","data":{"type":"object","required":["TTL"],"properties":{"TTL":{"type":"integer","minimum":0,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Количество секунд до следующей попытки"},"children":[]}]}]}]}}}},"components/schemas/TooManyRequestResponse":{"id":"components/schemas/TooManyRequestResponse","kind":"json-schema","title":"TooManyRequestResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"$ref":"#/components/schemas/TooManyRequestData"}}}},"components/schemas/TokenPair":{"id":"components/schemas/TokenPair","kind":"json-schema","title":"TokenPair","data":{"type":"object","required":["JWT","RT"],"properties":{"JWT":{"type":"string","description":"Access token"},"RT":{"type":"string","description":"Refresh token"}}}},"components/schemas/TokenPairResponse":{"id":"components/schemas/TokenPairResponse","kind":"json-schema","title":"TokenPairResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"$ref":"#/components/schemas/TokenPair"}}}},"components/schemas/PhoneSendOtpRequest":{"id":"components/schemas/PhoneSendOtpRequest","kind":"json-schema","title":"PhoneSendOtpRequest","data":{"type":"object","required":["recipient"],"properties":{"recipient":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Телефон в произвольном пользовательском формате; сервер нормализует значение."},"children":[]}]}]}],"maxLength":32,"example":"+79991234567"}}}},"components/schemas/PhoneEmailStatusRequest":{"id":"components/schemas/PhoneEmailStatusRequest","kind":"json-schema","title":"PhoneEmailStatusRequest","data":{"type":"object","required":["phone","type_account"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запрос проверки привязанной почты по телефону и области аккаунта."},"children":[]}]}]}],"properties":{"phone":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Телефон в произвольном пользовательском формате. Сервер нормализует значение, оставляя цифры и заменяя начальную "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"8"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" на "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"7"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"maxLength":32,"example":"+79991234567"},"type_account":{"allOf":[{"$ref":"#/components/schemas/AuthTypeAccount"}],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Тип аккаунта, в рамках которого нужно искать телефон. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ADMIN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" для этого публичного эндпоинта запрещен."},"children":[]}]}]}],"example":"CLIENT"},"role_in_salon":{"allOf":[{"$ref":"#/components/schemas/SalonMemberRole"}],"nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Роль внутри салона. Передается только для "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"type_account = SALON"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; для "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SALON"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" обязательна."},"children":[]}]}]}],"example":null}}}},"components/schemas/PhoneEmailStatus":{"id":"components/schemas/PhoneEmailStatus","kind":"json-schema","title":"PhoneEmailStatus","data":{"type":"object","required":["email_attached"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Результат проверки наличия привязанной почты."},"children":[]}]}]}],"properties":{"email_attached":{"type":"boolean","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если для указанного телефона и области аккаунта найдена привязанная почта;"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"иначе "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"false"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}}}},"components/schemas/PhoneEmailStatusResponse":{"id":"components/schemas/PhoneEmailStatusResponse","kind":"json-schema","title":"PhoneEmailStatusResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"$ref":"#/components/schemas/PhoneEmailStatus"}}}},"components/schemas/AuthTypeAccount":{"id":"components/schemas/AuthTypeAccount","kind":"json-schema","title":"AuthTypeAccount","data":{"type":"string","enum":["CLIENT","MASTER","SALON"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Тип аккаунта, в который пользователь входит."},"children":[]}]}]}]}},"components/schemas/SalonMemberRole":{"id":"components/schemas/SalonMemberRole","kind":"json-schema","title":"SalonMemberRole","data":{"type":"string","enum":["OWNER","MASTER","ADMIN"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Роль пользователя внутри салона. Обязательна для "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"type_account = SALON"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}},"components/schemas/PhoneLoginRequest":{"id":"components/schemas/PhoneLoginRequest","kind":"json-schema","title":"PhoneLoginRequest","data":{"type":"object","required":["phone","otp","type_account"],"allOf":[{"not":{"required":["business_invite_token","referral_code"],"properties":{"business_invite_token":{"type":"string","pattern":"\\S"},"referral_code":{"type":"string","pattern":"\\S"}}}},{"not":{"required":["business_invite_token","invite_token"],"properties":{"business_invite_token":{"type":"string","pattern":"\\S"},"invite_token":{"type":"string","pattern":"\\S"}}}},{"not":{"required":["business_invite_token","type_account"],"properties":{"business_invite_token":{"type":"string","pattern":"\\S"},"type_account":{"enum":["MASTER","SALON"]}}}}],"properties":{"phone":{"type":"string","maxLength":32,"example":"+79991234567"},"otp":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Одноразовый код подтверждения"},"children":[]}]}]}],"minLength":6,"maxLength":6,"pattern":"^\\d{6}$","example":"123456"},"type_account":{"allOf":[{"$ref":"#/components/schemas/AuthTypeAccount"}],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Тип аккаунта, в который выполняется вход."},"children":[]}]}]}],"example":"CLIENT"},"role_in_salon":{"allOf":[{"$ref":"#/components/schemas/SalonMemberRole"}],"nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Роль внутри салона. Обязательна при "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"type_account = SALON"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"example":"MASTER"},"invite_token":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Токен приглашения. Обязателен при "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"type_account = SALON"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"role_in_salon = MASTER"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" или "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ADMIN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"example":"eyJpbnZpdGUiOiIxMjMifQ"},"referral_code":{"type":"string","nullable":true,"pattern":"^\\d+$","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Необязательный ID рефовода. Применяется только при создании аккаунта "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CLIENT"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":","},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"MASTER"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" или владельца салона ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SALON"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" + "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"OWNER"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). При входе в существующий аккаунт,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"а также для мастера или администратора салона поле игнорируется. Несуществующий код"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"не мешает регистрации. Повторная регистрация с тем же телефоном восстанавливает"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"первоначальную привязку независимо от переданного нового кода."},"children":[]}]}]}],"example":"42"},"business_invite_token":{"type":"string","nullable":true,"maxLength":2048,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор бизнеса из ссылки профиля: MASTER:456 (user ID мастера) или SALON:123 (ID салона)."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Проверяются формат, существование и доступность бизнеса. Старые context_token не принимаются."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"70 дней отсчитываются от регистрации с приглашением, повторный вход срок не продлевает."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Только CLIENT. Нельзя одновременно передавать непустой referral_code или staff invite_token:"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"это invalid_body до проверки OTP. Пустое/null значение не включает бизнес-приглашение."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Новый клиент получает атрибуцию пригласившего бизнеса; существующий клиент проходит"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"обычный вход, а результат попытки сохраняется отдельно. Отказ из-за активной или"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"прошлой чужой привязки не меняет токены входа и не переносит прежнюю привязку."},"children":[]}]}]}]}}}},"components/schemas/EmailLoginRequest":{"id":"components/schemas/EmailLoginRequest","kind":"json-schema","title":"EmailLoginRequest","data":{"type":"object","required":["email","otp","type_account"],"properties":{"email":{"type":"string","format":"email","maxLength":254,"example":"user@example.com"},"otp":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Одноразовый код подтверждения"},"children":[]}]}]}],"minLength":6,"maxLength":6,"pattern":"^\\d{6}$","example":"123456"},"type_account":{"allOf":[{"$ref":"#/components/schemas/AuthTypeAccount"}],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Тип аккаунта, в который выполняется вход."},"children":[]}]}]}],"example":"CLIENT"},"role_in_salon":{"allOf":[{"$ref":"#/components/schemas/SalonMemberRole"}],"nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Роль внутри салона. Обязательна при "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"type_account = SALON"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"example":null}}}},"components/schemas/EditPhoneRequest":{"id":"components/schemas/EditPhoneRequest","kind":"json-schema","title":"EditPhoneRequest","data":{"type":"object","required":["phone","otp"],"properties":{"phone":{"type":"string","maxLength":32,"example":"+79991234567"},"otp":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Одноразовый код подтверждения"},"children":[]}]}]}],"minLength":6,"maxLength":6,"pattern":"^\\d{6}$","example":"123456"}}}},"components/schemas/EmailRecipientRequest":{"id":"components/schemas/EmailRecipientRequest","kind":"json-schema","title":"EmailRecipientRequest","data":{"type":"object","required":["recipient"],"properties":{"recipient":{"type":"string","format":"email","maxLength":254,"example":"user@example.com"}}}},"components/schemas/EmailAddRequest":{"id":"components/schemas/EmailAddRequest","kind":"json-schema","title":"EmailAddRequest","data":{"type":"object","required":["email","otp"],"properties":{"email":{"type":"string","format":"email","maxLength":254,"example":"user@example.com"},"otp":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Одноразовый код подтверждения"},"children":[]}]}]}],"minLength":6,"maxLength":6,"pattern":"^\\d{6}$","example":"123456"}}}},"components/schemas/FilePurpose":{"id":"components/schemas/FilePurpose","kind":"json-schema","title":"FilePurpose","data":{"type":"string","enum":["AVATAR","VOICE","MESSAGE","CARD","CATEGORY","BLOG"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Назначение файла, определяющее правила загрузки и использования. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CARD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" используется для карточек мастера, сервиса и салона. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"BLOG"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" используется для изображений постов. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CATEGORY"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" используется для изображений категорий."},"children":[]}]}]}]}},"components/schemas/FileUploadRequest":{"id":"components/schemas/FileUploadRequest","kind":"json-schema","title":"FileUploadRequest","data":{"type":"object","required":["file","metadata"],"properties":{"file":{"type":"string","format":"binary","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Бинарный файл. Имя файла должно быть непустым и не длиннее 255 символов, размер - больше 0 и не более 100 MB."},"children":[]}]}]}]},"metadata":{"$ref":"#/components/schemas/FileUploadMetadataRequest"}}}},"components/schemas/FileUploadMetadataRequest":{"id":"components/schemas/FileUploadMetadataRequest","kind":"json-schema","title":"FileUploadMetadataRequest","data":{"type":"object","required":["purpose"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Метаданные multipart-запроса на загрузку файла."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Правила по "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"crop"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" зависят от "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"purpose"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":":"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"для "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"AVATAR"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"crop"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" обязателен"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"для "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CARD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"BLOG"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CATEGORY"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"MESSAGE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"VOICE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"crop"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" запрещён"},"children":[]}]}]}]}],"properties":{"purpose":{"$ref":"#/components/schemas/FilePurpose"},"crop":{"allOf":[{"$ref":"#/components/schemas/CropParameter"}],"nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Параметры crop прямоугольника."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Для "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"AVATAR"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" значение обязательно, crop должен быть квадратным и не меньше "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"300x300"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Для "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CARD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"BLOG"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CATEGORY"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"MESSAGE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"VOICE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" поле должно отсутствовать."},"children":[]}]}]}]}}}},"components/schemas/CropParameter":{"id":"components/schemas/CropParameter","kind":"json-schema","title":"CropParameter","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Параметры crop прямоугольника относительно исходного изображения."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Общие правила:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"x"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"y"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" должны быть больше либо равны "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"0"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"width"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"height"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" должны быть больше "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"0"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"прямоугольник crop должен полностью помещаться в границы исходного изображения"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Дополнительные purpose-specific правила проверяются сервером:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"для "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"AVATAR"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" crop должен быть квадратным и не меньше "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"300x300"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"для "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CARD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"BLOG"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CATEGORY"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"MESSAGE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"VOICE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" crop запрещён"},"children":[]}]}]}]}],"required":["height","width","x","y"],"properties":{"height":{"type":"integer","format":"int32","minimum":1,"example":180},"width":{"type":"integer","format":"int32","minimum":1,"example":180},"x":{"type":"integer","format":"int32","minimum":0,"example":0},"y":{"type":"integer","format":"int32","minimum":0,"example":0}}}},"components/schemas/FileUploadData":{"id":"components/schemas/FileUploadData","kind":"json-schema","title":"FileUploadData","data":{"type":"object","required":["file_id"],"properties":{"file_id":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор загруженного файла / object key в хранилище"},"children":[]}]}]}]}}}},"components/schemas/FileUploadResponse":{"id":"components/schemas/FileUploadResponse","kind":"json-schema","title":"FileUploadResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"$ref":"#/components/schemas/FileUploadData"}}}},"components/schemas/FileStatus":{"id":"components/schemas/FileStatus","kind":"json-schema","title":"FileStatus","data":{"type":"string","enum":["PENDING","FAILED","UPLOADED"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Текущий статус обработки и загрузки файла."},"children":[]}]}]}]}},"components/schemas/FileStatusData":{"id":"components/schemas/FileStatusData","kind":"json-schema","title":"FileStatusData","data":{"type":"object","required":["file_id","file_name","status"],"properties":{"file_id":{"type":"integer","format":"int64","minimum":1},"file_name":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Оригинальное имя файла."},"children":[]}]}]}],"example":"avatar.png"},"status":{"$ref":"#/components/schemas/FileStatus"},"url":{"type":"string","format":"uri","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Временная ссылка object storage. Присутствует только для "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"UPLOADED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}}}},"components/schemas/FileStatusApiResponse":{"id":"components/schemas/FileStatusApiResponse","kind":"json-schema","title":"FileStatusApiResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"$ref":"#/components/schemas/FileStatusData"}}}},"components/schemas/ServicePriceInterval":{"id":"components/schemas/ServicePriceInterval","kind":"json-schema","title":"ServicePriceInterval","data":{"type":"object","required":["start_time","end_time","price"],"properties":{"start_time":{"type":"string","pattern":"^([01]\\d|2[0-3]):[0-5]\\d$","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Время начала интервала динамической цены. Включается в интервал."},"children":[]}]}]}],"example":"10:00"},"end_time":{"type":"string","pattern":"^([01]\\d|2[0-3]):[0-5]\\d$","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Время окончания интервала динамической цены. Не включается в интервал и должно быть позже "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"start_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"example":"12:00"},"price":{"type":"integer","format":"int32","minimum":1,"maximum":100000,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Базовая цена услуги, которая используется, если проверяемое время попадает в этот интервал."},"children":[]}]}]}],"example":2000}}}},"components/schemas/CreateServiceRequest":{"id":"components/schemas/CreateServiceRequest","kind":"json-schema","title":"CreateServiceRequest","data":{"type":"object","required":["name","price","duration","description","category_id","is_fix_price","images","advantages"],"properties":{"name":{"type":"string","minLength":1,"maxLength":120,"pattern":".*\\S.*","example":"Мужская стрижка"},"price":{"type":"integer","format":"int32","minimum":1,"maximum":100000,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Базовая цена по умолчанию. Используется, если "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"price_intervals"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" отсутствуют или проверяемое время не попадает ни в один интервал."},"children":[]}]}]}],"example":1500},"price_intervals":{"type":"array","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Необязательные интервалы динамической базовой цены. Интервалы не должны пересекаться. Если поле не передано или передан пустой массив, используется только "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"price"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"items":{"$ref":"#/components/schemas/ServicePriceInterval"},"example":[{"start_time":"10:00","end_time":"12:00","price":2000}]},"discount_percent":{"type":"integer","format":"int32","minimum":0,"maximum":100,"nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Процент скидки услуги, который можно задать сразу при создании через "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"POST /api/service"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Правила:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"0"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" сохраняется как "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"0"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и означает отсутствие скидки"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"1..100"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" устанавливает скидку услуги в процентах"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"если поле не передано или передано "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", услуга создается без скидки"},"children":[]}]}]}]}],"example":15},"duration":{"type":"integer","format":"int32","minimum":1,"maximum":1440,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Длительность услуги в минутах."},"children":[]}]}]}],"example":60},"description":{"type":"string","minLength":1,"maxLength":4000,"pattern":".*\\S.*","example":"Стрижка с мытьем головы и укладкой."},"category_id":{"type":"integer","format":"int64","minimum":1,"example":3},"is_fix_price":{"type":"boolean","example":true},"images":{"type":"array","minItems":1,"maxItems":10,"uniqueItems":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Ordered service image IDs. The first image is used as preview. All files must have purpose "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CARD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"items":{"type":"integer","format":"int64","minimum":1},"example":[101,102,103]},"service_locations":{"type":"array","nullable":true,"minItems":1,"maxItems":3,"uniqueItems":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Обязательно для индивидуального мастера. Содержит объекты с адресом и метаданными каждого места оказания. Для салонной услуги поле запрещено, потому что она использует местоположение салона."},"children":[]}]}]}],"items":{"$ref":"#/components/schemas/ServiceLocationRequest"}},"advantages":{"type":"array","maxItems":5,"items":{"type":"string","minLength":1,"maxLength":50,"pattern":".*\\S.*"},"example":["Стерильные инструменты","Быстро"]}}}},"components/schemas/UpdateServiceRequest":{"id":"components/schemas/UpdateServiceRequest","kind":"json-schema","title":"UpdateServiceRequest","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Тело запроса на обновление услуги."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Валидным считается запрос, в котором корректно заполнено хотя бы одно поле."},"children":[]}]}]}],"properties":{"name":{"type":"string","nullable":true,"minLength":1,"maxLength":120,"pattern":".*\\S.*"},"price":{"type":"integer","format":"int32","minimum":1,"maximum":100000,"nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Базовая цена по умолчанию. Используется, если "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"price_intervals"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" отсутствуют или проверяемое время не попадает ни в один интервал."},"children":[]}]}]}]},"price_intervals":{"type":"array","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Необязательные интервалы динамической базовой цены. Если поле не передано, текущие интервалы не изменяются. Пустой массив удаляет все интервалы."},"children":[]}]}]}],"items":{"$ref":"#/components/schemas/ServicePriceInterval"}},"discount_percent":{"type":"integer","format":"int32","minimum":0,"maximum":100,"nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Процент скидки услуги."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Используется в "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"PATCH /api/service/{serviceId}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" как обычное поле обновления услуги."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Отдельного endpoint для установки скидки нет."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Правила:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"0"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" сохраняется как "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"0"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и означает, что скидка снята"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"1..100"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" устанавливает скидку в процентах"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"если поле не передано, текущая скидка не меняется"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", значения меньше "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"0"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и значения больше "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"100"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" не являются валидной скидкой"},"children":[]}]}]}]}]},"duration":{"type":"integer","format":"int32","minimum":1,"maximum":1440,"nullable":true},"description":{"type":"string","nullable":true,"minLength":1,"maxLength":4000,"pattern":".*\\S.*"},"category_id":{"type":"integer","format":"int64","minimum":1,"nullable":true},"is_fix_price":{"type":"boolean","nullable":true},"images":{"type":"array","nullable":true,"minItems":1,"maxItems":10,"uniqueItems":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Ordered service image IDs. The first image is used as preview. All files must have purpose "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CARD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"items":{"type":"integer","format":"int64","minimum":1}},"service_locations":{"type":"array","nullable":true,"minItems":1,"maxItems":3,"uniqueItems":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Места оказания индивидуальной услуги. Каждый элемент содержит собственный адрес и необязательные координаты. Для салонной услуги поле запрещено."},"children":[]}]}]}],"items":{"$ref":"#/components/schemas/ServiceLocationRequest"}},"advantages":{"type":"array","nullable":true,"maxItems":5,"items":{"type":"string","minLength":1,"maxLength":50,"pattern":".*\\S.*"}}}}},"components/schemas/ServiceResponse":{"id":"components/schemas/ServiceResponse","kind":"json-schema","title":"ServiceResponse","data":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"images":{"type":"array","nullable":true,"items":{"type":"integer","format":"int64"}},"name":{"type":"string"},"price":{"type":"integer","format":"int32","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Базовая цена по умолчанию, сохраненная в услуге."},"children":[]}]}]}]},"price_intervals":{"type":"array","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Интервалы динамической базовой цены, сохраненные в услуге."},"children":[]}]}]}],"items":{"$ref":"#/components/schemas/ServicePriceInterval"}},"base_price":{"type":"integer","format":"int32","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Базовая цена для отображения на текущее время проекта. Если текущее время попадает в динамический интервал, используется цена интервала, иначе "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"price"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},"final_price":{"type":"integer","format":"int32","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Итоговая цена для отображения на текущее время проекта после применения "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"discount_percent"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" услуги."},"children":[]}]}]}]},"discount_percent":{"type":"integer","format":"int32","minimum":0,"maximum":100,"nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Текущий процент скидки на услугу."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"0"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" означает, что скидка снята и значение сохранено как "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"0"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" возможно только для старых/необновленных услуг, где скидка еще не была задана."},"children":[]}]}]}]},"duration":{"type":"integer","format":"int32","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Длительность услуги в минутах."},"children":[]}]}]}]},"description":{"type":"string"},"category_id":{"type":"integer","format":"int64","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID категории услуги."},"children":[]}]}]}]},"parent_category_id":{"type":"integer","format":"int64","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID родительской категории услуги."},"children":[]}]}]}]},"provider_id":{"type":"integer","format":"int64","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"User id провайдера услуги."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Для индивидуального мастера равен user id мастера."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Для услуги салона равен user id владельца салона, даже если услугу создал админ салона."},"children":[]}]}]}]},"is_fix_price":{"type":"boolean"},"service_locations":{"type":"array","nullable":true,"items":{"$ref":"#/components/schemas/ServiceLocationResponse"}},"address":{"type":"string","nullable":true},"advantages":{"type":"array","nullable":true,"items":{"type":"string"}},"geo":{"type":"object","nullable":true,"properties":{"lat":{"type":"number","format":"double"},"lon":{"type":"number","format":"double"}}},"rating":{"type":"number","format":"double","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Средний рейтинг услуги."},"children":[]}]}]}]}}}},"components/schemas/ServiceSearchItemResponse":{"id":"components/schemas/ServiceSearchItemResponse","kind":"json-schema","title":"ServiceSearchItemResponse","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Одна логическая услуга. Если геофильтру соответствуют несколько её локаций,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"в ответ попадает только выбранный вариант без дублей."},"children":[]}]}]}],"required":["id","image_ids","name","provider_id","provider_name","price_info","is_favorite","rating","reviews_count","address","distance_meters","service_location","salon_name","radius_km","geo"],"properties":{"id":{"type":"integer","format":"int64","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Логический ID услуги. Внутренний составной ID варианта локации наружу не возвращается."},"children":[]}]}]}],"example":93},"image_ids":{"type":"array","nullable":true,"items":{"type":"integer","format":"int64"},"example":[1093,1094]},"name":{"type":"string","example":"Massage Style 93"},"provider_name":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Отображаемое имя провайдера услуги."},"children":[]}]}]}],"example":"Flow studio"},"provider_id":{"type":"integer","format":"int64","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор пользователя-провайдера услуги."},"children":[]}]}]}],"example":42},"price_info":{"$ref":"#/components/schemas/ServiceSearchPriceInfoResponse"},"is_favorite":{"type":"boolean","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Признак, что услуга находится в избранном текущего пользователя."},"children":[]}]}]}],"example":true},"rating":{"type":"number","format":"double","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Средний рейтинг услуги."},"children":[]}]}]}],"example":4.8},"reviews_count":{"type":"integer","format":"int64","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Количество отзывов услуги."},"children":[]}]}]}],"example":128},"address":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Адрес выбранного варианта локации."},"children":[]}]}]}],"example":"Minsk seed address 93"},"distance_meters":{"type":"integer","format":"int64","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Расстояние от использованной точки поиска до центра выбранного варианта локации в метрах. Для "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CLIENT_PLACE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" это не остаток радиуса выезда."},"children":[]}]}]}],"example":500},"service_location":{"type":"string","enum":["AT_MASTER_PLACE","IN_SALON","CLIENT_PLACE"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Локация, по которой выбран этот результат поиска. В одном элементе возвращается ровно один вариант."},"children":[]}]}]}],"example":"IN_SALON"},"salon_name":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Название салона для "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"IN_SALON"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; для остальных вариантов равно "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"example":"Flow studio"},"radius_km":{"type":"integer","nullable":true,"enum":[1,5,10,20],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Собственный радиус выезда для "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CLIENT_PLACE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; для остальных вариантов равен "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"example":5},"geo":{"$ref":"#/components/schemas/SearchCardGeo"}}}},"components/schemas/ServiceSearchPriceInfoResponse":{"id":"components/schemas/ServiceSearchPriceInfoResponse","kind":"json-schema","title":"ServiceSearchPriceInfoResponse","data":{"type":"object","required":["base_price","final_price","discount_percent"],"properties":{"base_price":{"type":"integer","format":"int32","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Базовая цена услуги до скидки."},"children":[]}]}]}],"example":7500},"final_price":{"type":"integer","format":"int32","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Финальная цена услуги с учетом скидки."},"children":[]}]}]}],"example":4500},"discount_percent":{"type":"integer","format":"int32","minimum":0,"maximum":100,"nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Текущий процент скидки услуги в поисковой выдаче."},"children":[]}]}]}],"example":40}}}},"components/schemas/MasterSearchItemResponse":{"id":"components/schemas/MasterSearchItemResponse","kind":"json-schema","title":"MasterSearchItemResponse","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Один логический мастер. Если геофильтру соответствуют несколько его локаций,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"в ответ попадает только выбранный вариант без дублей по "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"user_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":["id","user_id","preview_id","first_name","last_name","full_name","category_ids","category_names","reviews_count","is_favorite","distance_meters","nearest_available_date","available_slots","service_location","salon_name","radius_km","geo"],"properties":{"id":{"type":"integer","format":"int64","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID профиля мастера."},"children":[]}]}]}],"example":501},"user_id":{"type":"integer","format":"int64","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Логический ID пользователя-мастера, по которому устраняются варианты локаций."},"children":[]}]}]}],"example":1},"preview_id":{"type":"integer","format":"int64","nullable":true,"example":2001},"first_name":{"type":"string","example":"Anna"},"last_name":{"type":"string","example":"Ivanova"},"full_name":{"type":"string","example":"Anna Ivanova"},"description":{"type":"string","nullable":true,"example":"Senior hair colorist and blond expert"},"category_ids":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификаторы категорий второго уровня, рассчитанные по услугам, которые оказывает мастер."},"children":[]}]}]}],"items":{"type":"integer","format":"int64"},"example":[10,11]},"category_names":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Названия категорий второго уровня, рассчитанные по услугам, которые оказывает мастер."},"children":[]}]}]}],"items":{"type":"string"},"example":["Hair","Coloring"]},"rating":{"type":"number","format":"double","nullable":true,"example":4.95},"reviews_count":{"type":"integer","format":"int64","example":128},"address":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Адрес выбранного варианта локации."},"children":[]}]}]}],"example":"Minsk Center, Nemiga 10"},"experience_years":{"type":"integer","format":"int64","nullable":true,"example":50},"min_price":{"type":"integer","format":"int32","nullable":true,"example":1800},"max_price":{"type":"integer","format":"int32","nullable":true,"example":8500},"is_favorite":{"type":"boolean","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Находится ли мастер в избранном у текущего пользователя."},"children":[]}]}]}],"example":true},"distance_meters":{"type":"integer","format":"int64","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Расстояние до центра выбранного варианта локации, рассчитанное Meilisearch. Равно "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если поиск выполнялся без геоточки; для "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CLIENT_PLACE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" это не остаток радиуса выезда."},"children":[]}]}]}],"example":850},"nearest_available_date":{"type":"string","format":"date","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Ближайшая дата с хотя бы одним свободным часовым слотом в пределах 60 дней, включая сегодня. Если свободных слотов нет, возвращается null."},"children":[]}]}]}],"example":"2026-07-14"},"available_slots":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Все свободные часовые слоты на nearest_available_date. Фронт самостоятельно выбирает количество отображаемых слотов."},"children":[]}]}]}],"items":{"$ref":"#/components/schemas/MasterSearchAvailabilitySlot"}},"service_location":{"type":"string","enum":["AT_MASTER_PLACE","IN_SALON","CLIENT_PLACE"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Локация мастера, по которой выбран этот результат поиска. В одном элементе возвращается ровно один вариант."},"children":[]}]}]}],"example":"AT_MASTER_PLACE"},"salon_name":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Название салона для "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"IN_SALON"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; для остальных вариантов равно "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"example":"Flow studio"},"radius_km":{"type":"integer","nullable":true,"enum":[1,5,10,20],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Собственный радиус выезда для "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CLIENT_PLACE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; для остальных вариантов равен "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"example":5},"geo":{"$ref":"#/components/schemas/SearchCardGeo"}}}},"components/schemas/SalonSearchItemResponse":{"id":"components/schemas/SalonSearchItemResponse","kind":"json-schema","title":"SalonSearchItemResponse","data":{"type":"object","required":["id","name","preview_id","category_ids","category_names","reviews_count","is_favorite","distance_meters","geo"],"properties":{"id":{"type":"integer","format":"int64","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор сущности "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"salons.id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},"name":{"type":"string"},"preview_id":{"type":"integer","format":"int64","nullable":true},"category_ids":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Категории, рассчитанные по услугам салона."},"children":[]}]}]}],"items":{"type":"integer","format":"int64"}},"category_names":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Названия категорий, рассчитанные по услугам салона."},"children":[]}]}]}],"items":{"type":"string"}},"rating":{"type":"number","format":"double","nullable":true},"reviews_count":{"type":"integer","format":"int64"},"address":{"type":"string","nullable":true},"min_price":{"type":"integer","format":"int32","nullable":true},"max_price":{"type":"integer","format":"int32","nullable":true},"is_favorite":{"type":"boolean"},"distance_meters":{"type":"integer","format":"int64","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Расстояние от точки поиска; "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" для поиска по районам."},"children":[]}]}]}]},"geo":{"$ref":"#/components/schemas/SearchCardGeo"}}}},"components/schemas/SearchCardGeo":{"id":"components/schemas/SearchCardGeo","kind":"json-schema","title":"SearchCardGeo","data":{"type":"object","nullable":true,"required":["lat","lon"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Координаты выбранной локации карточки."},"children":[]}]}]}],"properties":{"lat":{"type":"number","format":"double","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Широта."},"children":[]}]}]}]},"lon":{"type":"number","format":"double","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Долгота."},"children":[]}]}]}]}}}},"components/schemas/MasterSearchAvailabilitySlot":{"id":"components/schemas/MasterSearchAvailabilitySlot","kind":"json-schema","title":"MasterSearchAvailabilitySlot","data":{"type":"object","required":["start_time","end_time"],"properties":{"start_time":{"type":"string","format":"time","example":"10:00:00"},"end_time":{"type":"string","format":"time","example":"11:00:00"}}}},"components/schemas/ServiceSearchSort":{"id":"components/schemas/ServiceSearchSort","kind":"json-schema","title":"ServiceSearchSort","data":{"type":"string","enum":["RELEVANCE","PRICE_ASC","PRICE_DESC","RATING_ASC","RATING_DESC","DISTANCE_ASC","DISTANCE_DESC"],"example":"PRICE_DESC"}},"components/schemas/MasterSearchSort":{"id":"components/schemas/MasterSearchSort","kind":"json-schema","title":"MasterSearchSort","data":{"type":"string","enum":["RELEVANCE","PRICE_ASC","PRICE_DESC","RATING_ASC","RATING_DESC","DISTANCE_ASC","DISTANCE_DESC"],"example":"PRICE_ASC"}},"components/schemas/SalonSearchSort":{"id":"components/schemas/SalonSearchSort","kind":"json-schema","title":"SalonSearchSort","data":{"type":"string","enum":["RELEVANCE","PRICE_ASC","PRICE_DESC","RATING_ASC","RATING_DESC","DISTANCE_ASC","DISTANCE_DESC"],"example":"DISTANCE_ASC"}},"components/schemas/SearchSuggestionServiceItem":{"id":"components/schemas/SearchSuggestionServiceItem","kind":"json-schema","title":"SearchSuggestionServiceItem","data":{"type":"object","additionalProperties":false,"required":["type","name"],"properties":{"type":{"type":"string","enum":["service"]},"name":{"type":"string"}}}},"components/schemas/SearchSuggestionSalonItem":{"id":"components/schemas/SearchSuggestionSalonItem","kind":"json-schema","title":"SearchSuggestionSalonItem","data":{"type":"object","additionalProperties":false,"required":["type","id","name"],"properties":{"type":{"type":"string","enum":["salon"]},"id":{"type":"integer","format":"int64","minimum":1},"name":{"type":"string"},"preview_id":{"type":"integer","format":"int64","minimum":1}}}},"components/schemas/SearchSuggestionMasterItem":{"id":"components/schemas/SearchSuggestionMasterItem","kind":"json-schema","title":"SearchSuggestionMasterItem","data":{"type":"object","additionalProperties":false,"required":["type","user_id","name"],"properties":{"type":{"type":"string","enum":["master"]},"user_id":{"type":"integer","format":"int64","minimum":1},"name":{"type":"string"},"preview_id":{"type":"integer","format":"int64","minimum":1}}}},"components/schemas/SearchSuggestionItem":{"id":"components/schemas/SearchSuggestionItem","kind":"json-schema","title":"SearchSuggestionItem","data":{"oneOf":[{"$ref":"#/components/schemas/SearchSuggestionServiceItem"},{"$ref":"#/components/schemas/SearchSuggestionSalonItem"},{"$ref":"#/components/schemas/SearchSuggestionMasterItem"}]}},"components/schemas/SearchSuggestionsListResponse":{"id":"components/schemas/SearchSuggestionsListResponse","kind":"json-schema","title":"SearchSuggestionsListResponse","data":{"type":"object","required":["success","message","codeError","error_code","data"],"properties":{"success":{"type":"boolean","enum":[true]},"message":{"type":"string","example":"Search suggestions retrieved successfully"},"codeError":{"type":"string","nullable":true},"error_code":{"type":"string","nullable":true},"data":{"type":"object","required":["items"],"properties":{"items":{"type":"array","maxItems":6,"items":{"$ref":"#/components/schemas/SearchSuggestionItem"}}}}}}},"components/schemas/CombinedSearchSort":{"id":"components/schemas/CombinedSearchSort","kind":"json-schema","title":"CombinedSearchSort","data":{"type":"string","enum":["RELEVANCE","PRICE_ASC","PRICE_DESC","RATING_ASC","RATING_DESC","DISTANCE_ASC","DISTANCE_DESC"],"default":"RELEVANCE"}},"components/schemas/CombinedSearchItem":{"id":"components/schemas/CombinedSearchItem","kind":"json-schema","title":"CombinedSearchItem","data":{"type":"object","required":["type","data"],"properties":{"type":{"type":"string","enum":["service","salon","master"]},"data":{"oneOf":[{"$ref":"#/components/schemas/ServiceSearchItemResponse"},{"$ref":"#/components/schemas/SalonSearchItemResponse"},{"$ref":"#/components/schemas/MasterSearchItemResponse"}]}}}},"components/schemas/CombinedSearchListResponse":{"id":"components/schemas/CombinedSearchListResponse","kind":"json-schema","title":"CombinedSearchListResponse","data":{"type":"object","required":["success","message","codeError","error_code","data"],"properties":{"success":{"type":"boolean","enum":[true],"example":true},"message":{"type":"string","example":"Combined search results retrieved successfully"},"codeError":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Для успешного ответа всегда "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},"error_code":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Для успешного ответа всегда "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},"data":{"type":"object","required":["items","has_more"],"properties":{"items":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Карточки в порядке 4 услуги, 1 салон, 4 услуги и 1 мастер, если доступны все типы результатов."},"children":[]}]}]}],"items":{"$ref":"#/components/schemas/CombinedSearchItem"}},"has_more":{"type":"boolean","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Остались ли результаты хотя бы одного типа."},"children":[]}]}]}],"example":true}}}}}},"components/schemas/ServiceSearchListResponse":{"id":"components/schemas/ServiceSearchListResponse","kind":"json-schema","title":"ServiceSearchListResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"type":"object","required":["items","has_more"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ServiceSearchItemResponse"}},"has_more":{"type":"boolean","example":true}}}}}},"components/schemas/MasterSearchListResponse":{"id":"components/schemas/MasterSearchListResponse","kind":"json-schema","title":"MasterSearchListResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"type":"object","required":["items","has_more"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/MasterSearchItemResponse"}},"has_more":{"type":"boolean","example":true}}}}}},"components/schemas/SalonSearchListResponse":{"id":"components/schemas/SalonSearchListResponse","kind":"json-schema","title":"SalonSearchListResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"type":"object","required":["items","has_more"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/SalonSearchItemResponse"}},"has_more":{"type":"boolean","example":true}}}}}},"components/schemas/SearchCountData":{"id":"components/schemas/SearchCountData","kind":"json-schema","title":"SearchCountData","data":{"type":"object","required":["count"],"properties":{"count":{"type":"integer","format":"int64","minimum":0,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Точное количество документов, соответствующих запросу и фильтрам."},"children":[]}]}]}],"example":42}}}},"components/schemas/SearchCountResponse":{"id":"components/schemas/SearchCountResponse","kind":"json-schema","title":"SearchCountResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"$ref":"#/components/schemas/SearchCountData"}}}},"components/schemas/ServiceSingleResponse":{"id":"components/schemas/ServiceSingleResponse","kind":"json-schema","title":"ServiceSingleResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"$ref":"#/components/schemas/ServiceResponse"}}}},"components/schemas/ServiceUpdateData":{"id":"components/schemas/ServiceUpdateData","kind":"json-schema","title":"ServiceUpdateData","data":{"type":"object","required":["changed","service"],"properties":{"changed":{"type":"boolean","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Показывает, было ли реально изменено хотя бы одно поле услуги."},"children":[]}]}]}]},"service":{"$ref":"#/components/schemas/ServiceResponse"}}}},"components/schemas/ServiceUpdateResponse":{"id":"components/schemas/ServiceUpdateResponse","kind":"json-schema","title":"ServiceUpdateResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"$ref":"#/components/schemas/ServiceUpdateData"}}}},"components/schemas/ServiceListResponse":{"id":"components/schemas/ServiceListResponse","kind":"json-schema","title":"ServiceListResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ServiceResponse"}}}}},"components/schemas/ServiceCatalogCategory":{"id":"components/schemas/ServiceCatalogCategory","kind":"json-schema","title":"ServiceCatalogCategory","data":{"type":"object","additionalProperties":false,"required":["category_id","name","level"],"properties":{"category_id":{"type":"integer","format":"int64","minimum":1,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор категории."},"children":[]}]}]}]},"name":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Название категории."},"children":[]}]}]}]},"level":{"type":"integer","enum":[1,2],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Уровень категории в справочнике."},"children":[]}]}]}]}}}},"components/schemas/ServiceCatalogItem":{"id":"components/schemas/ServiceCatalogItem","kind":"json-schema","title":"ServiceCatalogItem","data":{"type":"object","additionalProperties":false,"required":["catalog_item_id","name","sort_order"],"properties":{"catalog_item_id":{"type":"integer","format":"int64","minimum":1,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор шаблона, не являющийся идентификатором пользовательской услуги."},"children":[]}]}]}]},"name":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Название, которым заполняется новая услуга."},"children":[]}]}]}]},"sort_order":{"type":"integer","minimum":1,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Порядок шаблона внутри группы."},"children":[]}]}]}]}}}},"components/schemas/ServiceCatalogGroup":{"id":"components/schemas/ServiceCatalogGroup","kind":"json-schema","title":"ServiceCatalogGroup","data":{"type":"object","additionalProperties":false,"required":["category_id","name","sort_order","items_count","items"],"properties":{"category_id":{"type":"integer","format":"int64","minimum":1,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор категории второго уровня для создаваемой услуги."},"children":[]}]}]}]},"name":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Название категории второго уровня."},"children":[]}]}]}]},"sort_order":{"type":"integer","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Порядок категории среди соседних категорий."},"children":[]}]}]}]},"items_count":{"type":"integer","minimum":1,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Количество доступных шаблонов в "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"items"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Пустые группы не возвращаются."},"children":[]}]}]}]},"items":{"type":"array","minItems":1,"items":{"$ref":"#/components/schemas/ServiceCatalogItem"}}}}},"components/schemas/ServiceCatalogData":{"id":"components/schemas/ServiceCatalogData","kind":"json-schema","title":"ServiceCatalogData","data":{"type":"object","additionalProperties":false,"required":["requested_category","root_category","groups"],"properties":{"requested_category":{"$ref":"#/components/schemas/ServiceCatalogCategory"},"root_category":{"allOf":[{"$ref":"#/components/schemas/ServiceCatalogCategory"}],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Категория первого уровня, которой принадлежит результат."},"children":[]}]}]}]},"groups":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Непустые группы доступных шаблонов. Не содержит категорию "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Другое"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Может быть пустым, если все шаблоны уже добавлены пользователем."},"children":[]}]}]}],"items":{"$ref":"#/components/schemas/ServiceCatalogGroup"}}}}},"components/schemas/ServiceCatalogResponse":{"id":"components/schemas/ServiceCatalogResponse","kind":"json-schema","title":"ServiceCatalogResponse","data":{"type":"object","additionalProperties":false,"required":["success","message","codeError","error_code","data"],"properties":{"success":{"type":"boolean","enum":[true]},"message":{"type":"string","enum":["Service catalog retrieved successfully"]},"codeError":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Для успешного ответа всегда "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},"error_code":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Для успешного ответа всегда "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},"data":{"$ref":"#/components/schemas/ServiceCatalogData"}}}},"components/schemas/SalonServicesData":{"id":"components/schemas/SalonServicesData","kind":"json-schema","title":"SalonServicesData","data":{"type":"object","required":["salon_id","owner_id","services"],"properties":{"salon_id":{"type":"integer","format":"int64","minimum":1,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID салона из path-параметра."},"children":[]}]}]}]},"owner_id":{"type":"integer","format":"int64","minimum":1,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"User id владельца салона."},"children":[]}]}]}]},"services":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Список услуг салона."},"children":[]}]}]}],"items":{"$ref":"#/components/schemas/ServiceResponse"}}}}},"components/schemas/SalonServicesResponse":{"id":"components/schemas/SalonServicesResponse","kind":"json-schema","title":"SalonServicesResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"$ref":"#/components/schemas/SalonServicesData"}}}},"components/schemas/SalonMasterServicesRequest":{"id":"components/schemas/SalonMasterServicesRequest","kind":"json-schema","title":"SalonMasterServicesRequest","data":{"type":"object","additionalProperties":false,"required":["service_ids"],"properties":{"service_ids":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификаторы услуг, которые нужно назначить мастеру салона. Пустой массив очищает список назначенных услуг."},"children":[]}]}]}],"items":{"type":"integer","format":"int64","minimum":1},"example":[10,11,12]}}}},"components/schemas/ServiceCategoryNode":{"id":"components/schemas/ServiceCategoryNode","kind":"json-schema","title":"ServiceCategoryNode","data":{"type":"object","required":["category_id","services","children"],"properties":{"category_id":{"type":"integer","format":"int64","minimum":1,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор категории."},"children":[]}]}]}],"example":1},"services":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Услуги этой категории."},"children":[]}]}]}],"items":{"$ref":"#/components/schemas/ServiceResponse"}},"children":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Дочерние категории. У каждой дочерней категории могут быть свои "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"children"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" на любую глубину."},"children":[]}]}]}],"items":{"$ref":"#/components/schemas/ServiceCategoryNode"}}}}},"components/schemas/ServiceCategoryTreeResponse":{"id":"components/schemas/ServiceCategoryTreeResponse","kind":"json-schema","title":"ServiceCategoryTreeResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ServiceCategoryNode"}}}}},"components/schemas/CreateCategoryRequest":{"id":"components/schemas/CreateCategoryRequest","kind":"json-schema","title":"CreateCategoryRequest","data":{"type":"object","required":["name"],"additionalProperties":false,"properties":{"name":{"type":"string","minLength":1,"maxLength":100,"pattern":".*\\S.*","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Название категории. Обязательно, не пустое, максимум 100 символов."},"children":[]}]}]}],"example":"Beauty"},"parent_id":{"type":"integer","format":"int64","minimum":1,"nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID родительской категории. Необязателен, но если передан, должен ссылаться на существующую категорию."},"children":[]}]}]}],"example":1},"image":{"type":"integer","format":"int64","minimum":1,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Необязательный ID ранее загруженного файла категории. Если передан, файл должен иметь purpose "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CATEGORY"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},"show_in_onboarding":{"type":"boolean","default":false,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Показывать ли категорию при онбординге."},"children":[]}]}]}]},"sort_order":{"type":"integer","format":"int32","minimum":0,"nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Порядок отображения внутри одной родительской категории."},"children":[]}]}]}]}}}},"components/schemas/UpdateCategoryRequest":{"id":"components/schemas/UpdateCategoryRequest","kind":"json-schema","title":"UpdateCategoryRequest","data":{"type":"object","additionalProperties":false,"minProperties":1,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Тело запроса на обновление категории."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Валидным считается запрос, в котором корректно заполнено хотя бы одно поле."},"children":[]}]}]}],"properties":{"name":{"type":"string","nullable":true,"minLength":1,"maxLength":100,"pattern":".*\\S.*","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Новое название категории. Не пустое, максимум 100 символов."},"children":[]}]}]}]},"parent_id":{"type":"integer","format":"int64","minimum":1,"nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Новый родитель категории. Не может совпадать с самой категорией и не должен создавать цикл в parent chain."},"children":[]}]}]}]},"image_id":{"type":"integer","format":"int64","minimum":1,"nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID ранее загруженного файла категории. Файл должен иметь purpose "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CATEGORY"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},"show_in_onboarding":{"type":"boolean","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Новое значение видимости категории при онбординге."},"children":[]}]}]}]},"sort_order":{"type":"integer","format":"int32","minimum":0,"nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Новый порядок отображения внутри одной родительской категории."},"children":[]}]}]}]}}}},"components/schemas/CategoryResponse":{"id":"components/schemas/CategoryResponse","kind":"json-schema","title":"CategoryResponse","data":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"},"parent_id":{"type":"integer","format":"int64","nullable":true},"image_id":{"type":"integer","format":"int64","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID файла изображения категории, если изображение установлено."},"children":[]}]}]}],"example":200},"min_price":{"type":"integer","format":"int32","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Минимальная цена услуги в этой категории. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если в категории нет услуг."},"children":[]}]}]}],"example":1500},"min_duration":{"type":"integer","format":"int32","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Минимальная длительность услуги в этой категории в минутах. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если в категории нет услуг."},"children":[]}]}]}],"example":60},"children":{"type":"array","items":{"$ref":"#/components/schemas/CategoryResponse"}}}}},"components/schemas/CategorySingleResponse":{"id":"components/schemas/CategorySingleResponse","kind":"json-schema","title":"CategorySingleResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"$ref":"#/components/schemas/CategoryResponse"}}}},"components/schemas/CategoryUpdateData":{"id":"components/schemas/CategoryUpdateData","kind":"json-schema","title":"CategoryUpdateData","data":{"type":"object","required":["changed","category"],"properties":{"changed":{"type":"boolean","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Показывает, было ли реально изменено состояние категории."},"children":[]}]}]}]},"category":{"$ref":"#/components/schemas/CategoryResponse"}}}},"components/schemas/CategoryUpdateResponse":{"id":"components/schemas/CategoryUpdateResponse","kind":"json-schema","title":"CategoryUpdateResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"$ref":"#/components/schemas/CategoryUpdateData"}}}},"components/schemas/CategoryDeleteData":{"id":"components/schemas/CategoryDeleteData","kind":"json-schema","title":"CategoryDeleteData","data":{"type":"object","required":["deleted"],"properties":{"deleted":{"type":"boolean"}}}},"components/schemas/CategoryDeleteResponse":{"id":"components/schemas/CategoryDeleteResponse","kind":"json-schema","title":"CategoryDeleteResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"$ref":"#/components/schemas/CategoryDeleteData"}}}},"components/schemas/CategoryListResponse":{"id":"components/schemas/CategoryListResponse","kind":"json-schema","title":"CategoryListResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/CategoryResponse"}}}}},"components/schemas/RecordBookServiceRequest":{"id":"components/schemas/RecordBookServiceRequest","kind":"json-schema","title":"RecordBookServiceRequest","data":{"type":"object","required":["service_id","start","end"],"properties":{"service_id":{"type":"integer","format":"int64","minimum":1},"master_user_id":{"type":"integer","format":"int64","minimum":1,"nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID мастера салона. Передаётся только при записи на услугу салона."},"children":[]}]}]}]},"start":{"type":"string","format":"date-time","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Время начала бронирования в формате ISO-8601. Должно быть раньше "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"end"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"example":"2026-03-11T10:00:00Z"},"end":{"type":"string","format":"date-time","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Время конца бронирования в формате ISO-8601. Максимальная длительность интервала - 24 часа."},"children":[]}]}]}],"example":"2026-03-11T11:00:00Z"},"client_comment":{"type":"string","nullable":true,"maxLength":1000,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Необязательный комментарий клиента. Сохраняется при создании записи и не может быть изменён."},"children":[]}]}]}],"example":"Френч, короткие ногти"}}}},"components/schemas/MasterCommentRequest":{"id":"components/schemas/MasterCommentRequest","kind":"json-schema","title":"MasterCommentRequest","data":{"type":"object","required":["comment"],"properties":{"comment":{"type":"string","maxLength":1000,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Общий комментарий мастера/салона. Пустая строка очищает комментарий."},"children":[]}]}]}],"example":"Клиент предпочитает тихую музыку"}}}},"components/schemas/ProviderScheduleItem":{"id":"components/schemas/ProviderScheduleItem","kind":"json-schema","title":"ProviderScheduleItem","data":{"type":"object","required":["type","id","start","end"],"properties":{"type":{"type":"string","enum":["RECORD","BREAK"]},"id":{"type":"integer","format":"int64","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID записи. Для перерыва всегда null."},"children":[]}]}]}]},"start":{"type":"string","format":"time","example":"09:45:00"},"end":{"type":"string","format":"time","example":"10:00:00"},"service_name":{"type":"string","nullable":true},"client_comment":{"type":"string","nullable":true},"master_comment":{"type":"string","nullable":true}}}},"components/schemas/ProviderScheduleResponse":{"id":"components/schemas/ProviderScheduleResponse","kind":"json-schema","title":"ProviderScheduleResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"type":"object","required":["date","items"],"properties":{"date":{"type":"string","format":"date"},"items":{"type":"array","items":{"$ref":"#/components/schemas/ProviderScheduleItem"}}}}}}},"components/schemas/CheckoutPriceResponse":{"id":"components/schemas/CheckoutPriceResponse","kind":"json-schema","title":"CheckoutPriceResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"$ref":"#/components/schemas/CheckoutPriceData"}}}},"components/schemas/CheckoutPriceData":{"id":"components/schemas/CheckoutPriceData","kind":"json-schema","title":"CheckoutPriceData","data":{"type":"object","required":["items","final_price"],"properties":{"items":{"type":"array","minItems":1,"items":{"$ref":"#/components/schemas/CheckoutPriceItem"}},"final_price":{"type":"integer","format":"int32","nullable":true,"minimum":0}}}},"components/schemas/CheckoutPriceItem":{"id":"components/schemas/CheckoutPriceItem","kind":"json-schema","title":"CheckoutPriceItem","data":{"type":"object","required":["type","price","description","discount_percent"],"properties":{"type":{"type":"string","enum":["BASE_PRICE","ACTION_DISCOUNT","BUSINESS_REFERRAL_DISCOUNT","REFERRAL_COUPON","REFERRAL_LEVEL_DISCOUNT"]},"price":{"type":"integer","format":"int32","nullable":true,"minimum":0},"description":{"type":"string"},"discount_percent":{"type":"integer","format":"int32","nullable":true,"minimum":0,"maximum":100}}}},"components/schemas/RecordTimeInterval":{"id":"components/schemas/RecordTimeInterval","kind":"json-schema","title":"RecordTimeInterval","data":{"type":"object","required":["start_time","end_time"],"properties":{"start_time":{"type":"string","example":"09:00"},"end_time":{"type":"string","example":"09:30"},"base_price":{"type":"integer","format":"int32","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Базовая цена слота до скидки. Определяется по "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"start_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" слота из динамической цены услуги, а если подходящего интервала нет, используется базовая цена услуги по умолчанию."},"children":[]}]}]}],"example":2000},"final_price":{"type":"integer","format":"int32","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Итоговая цена слота после скидки услуги и допустимой скидки акционного слота. Скидка акционного слота не применяется, если у услуги есть хотя бы один интервал динамической цены."},"children":[]}]}]}],"example":1600},"discount_percent":{"type":"integer","format":"int32","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Общий процент скидки, примененный к слоту. Включает скидку услуги, а скидку акционного слота — только если у услуги нет интервалов динамической цены."},"children":[]}]}]}],"example":20}}}},"components/schemas/RecordGetFreeSlotsData":{"id":"components/schemas/RecordGetFreeSlotsData","kind":"json-schema","title":"RecordGetFreeSlotsData","data":{"type":"object","required":["free_slots"],"properties":{"free_slots":{"type":"array","items":{"$ref":"#/components/schemas/RecordTimeInterval"}}}}},"components/schemas/RecordGetFreeSlotsResponse":{"id":"components/schemas/RecordGetFreeSlotsResponse","kind":"json-schema","title":"RecordGetFreeSlotsResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"$ref":"#/components/schemas/RecordGetFreeSlotsData"}}}},"components/schemas/RecordCancelBody":{"id":"components/schemas/RecordCancelBody","kind":"json-schema","title":"RecordCancelBody","data":{"type":"object","properties":{"comment":{"type":"string","nullable":true,"minLength":1,"maxLength":500,"pattern":".*\\S.*","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Необязательный комментарий к отмене записи."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Если поле передано, строка не должна быть пустой или состоять только из пробелов."},"children":[]}]}]}]},"released_slot_action":{"$ref":"#/components/schemas/ReleasedSlotAction"},"released_slot_action_percent":{"type":"integer","minimum":1,"maximum":99,"nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Percent action for the released slot. Allowed only when released_slot_action is ACTION."},"children":[]}]}]}],"example":20}}}},"components/schemas/RecordRescheduleRequestBody":{"id":"components/schemas/RecordRescheduleRequestBody","kind":"json-schema","title":"RecordRescheduleRequestBody","data":{"type":"object","required":["record_id","percent_compensation"],"properties":{"record_id":{"type":"integer","format":"int64","minimum":1,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор записи, для которой создается запрос на перенос."},"children":[]}]}]}],"example":101},"percent_compensation":{"type":"integer","minimum":1,"maximum":99,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Процент компенсации при переносе записи."},"children":[]}]}]}],"example":15},"released_slot_action":{"$ref":"#/components/schemas/ReleasedSlotAction"},"released_slot_action_percent":{"type":"integer","minimum":1,"maximum":99,"nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Percent action for the released slot. Allowed only when released_slot_action is ACTION."},"children":[]}]}]}],"example":20}}}},"components/schemas/RecordApproveRescheduleRequestBody":{"id":"components/schemas/RecordApproveRescheduleRequestBody","kind":"json-schema","title":"RecordApproveRescheduleRequestBody","data":{"type":"object","required":["new_start","new_end"],"properties":{"new_start":{"type":"string","format":"date-time","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Новое время начала записи."},"children":[]}]}]}],"example":"2026-04-22T14:00:00Z"},"new_end":{"type":"string","format":"date-time","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Новое время окончания записи."},"children":[]}]}]}],"example":"2026-04-22T15:00:00Z"}}}},"components/schemas/RecordCreateRequestBody":{"id":"components/schemas/RecordCreateRequestBody","kind":"json-schema","title":"RecordCreateRequestBody","data":{"type":"object","required":["service_id","user_id"],"properties":{"service_id":{"type":"integer","format":"int64","minimum":1,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор услуги, по которой создаётся запрос на запись."},"children":[]}]}]}],"example":501},"user_id":{"type":"integer","format":"int64","minimum":1,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор пользователя, который должен подтвердить создание записи."},"children":[]}]}]}],"example":42},"price":{"type":"integer","minimum":1,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Цена услуги для "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"is_fix_price = false"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Обязательна для услуги с пользовательской ценой. Для "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"is_fix_price = true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" передача "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"price"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" запрещена, цена берётся из карточки услуги."},"children":[]}]}]}],"example":1200}}}},"components/schemas/RecordApproveCreateRequestBody":{"id":"components/schemas/RecordApproveCreateRequestBody","kind":"json-schema","title":"RecordApproveCreateRequestBody","data":{"type":"object","required":["start","end"],"properties":{"start":{"type":"string","format":"date-time","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Время начала создаваемой записи."},"children":[]}]}]}],"example":"2026-05-20T09:00:00Z"},"end":{"type":"string","format":"date-time","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Время окончания создаваемой записи. Должно быть строго позже "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"start"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"example":"2026-05-20T10:00:00Z"},"master_user_id":{"type":"integer","format":"int64","minimum":1,"nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID мастера салона. Обязателен при approve request по услуге салона; для услуги индивидуального мастера не передаётся."},"children":[]}]}]}],"example":92001003}}}},"components/schemas/RecordSurchargeRequestBody":{"id":"components/schemas/RecordSurchargeRequestBody","kind":"json-schema","title":"RecordSurchargeRequestBody","data":{"type":"object","required":["service_id","receiver_id","sum","reason"],"properties":{"service_id":{"type":"integer","format":"int64","minimum":1,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор услуги, по которой создаётся запрос на доплату."},"children":[]}]}]}],"example":501},"receiver_id":{"type":"integer","format":"int64","minimum":1,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор пользователя, который должен оплатить или отклонить доплату."},"children":[]}]}]}],"example":42},"sum":{"type":"integer","minimum":1,"maximum":1000000,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Сумма дополнительной оплаты."},"children":[]}]}]}],"example":1500},"reason":{"type":"string","minLength":1,"maxLength":1000,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Причина дополнительной оплаты."},"children":[]}]}]}],"example":"Доплата за дополнительные материалы"}}}},"components/schemas/RecordRejectSurchargeRequestBody":{"id":"components/schemas/RecordRejectSurchargeRequestBody","kind":"json-schema","title":"RecordRejectSurchargeRequestBody","data":{"type":"object","required":["reason"],"properties":{"reason":{"type":"string","minLength":1,"maxLength":1000,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Причина отказа от доплаты."},"children":[]}]}]}],"example":"Не согласен с доплатой"}}}},"components/schemas/RecordRescheduleRequestStatus":{"id":"components/schemas/RecordRescheduleRequestStatus","kind":"json-schema","title":"RecordRescheduleRequestStatus","data":{"type":"string","enum":["WAITING_APPROVE","APPROVED","REJECTED"]}},"components/schemas/ReleasedSlotAction":{"id":"components/schemas/ReleasedSlotAction","kind":"json-schema","title":"ReleasedSlotAction","data":{"type":"string","enum":["NONE","BLOCK","ACTION"],"default":"NONE"}},"components/schemas/RecordCreateRequestStatus":{"id":"components/schemas/RecordCreateRequestStatus","kind":"json-schema","title":"RecordCreateRequestStatus","data":{"type":"string","enum":["WAITING_APPROVE","APPROVED","REJECTED","EXPIRED","WAITING_FOR_PAYMENT","PAID"]}},"components/schemas/RecordSurchargeRequestStatus":{"id":"components/schemas/RecordSurchargeRequestStatus","kind":"json-schema","title":"RecordSurchargeRequestStatus","data":{"type":"string","enum":["WAITING_APPROVE","APPROVED","REJECTED","EXPIRED"]}},"components/schemas/RecordRescheduleRequestItem":{"id":"components/schemas/RecordRescheduleRequestItem","kind":"json-schema","title":"RecordRescheduleRequestItem","data":{"type":"object","required":["id","record_id","status","percent_compensation","released_slot_action","at_create","sender_id","receiver_id","record_start","record_end"],"properties":{"id":{"type":"integer","format":"int64"},"record_id":{"type":"integer","format":"int64"},"status":{"$ref":"#/components/schemas/RecordRescheduleRequestStatus"},"percent_compensation":{"type":"integer","minimum":1,"maximum":99},"released_slot_action":{"$ref":"#/components/schemas/ReleasedSlotAction"},"released_slot_action_percent":{"type":"integer","minimum":1,"maximum":99,"nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Percent action for the released slot. Allowed only when released_slot_action is ACTION."},"children":[]}]}]}],"example":20},"at_create":{"type":"string","format":"date-time"},"sender_id":{"type":"integer","format":"int64"},"receiver_id":{"type":"integer","format":"int64"},"record_start":{"type":"string","format":"date-time"},"record_end":{"type":"string","format":"date-time"}}}},"components/schemas/RecordRescheduleRequestsData":{"id":"components/schemas/RecordRescheduleRequestsData","kind":"json-schema","title":"RecordRescheduleRequestsData","data":{"type":"object","required":["requests"],"properties":{"requests":{"type":"array","items":{"$ref":"#/components/schemas/RecordRescheduleRequestItem"}}}}},"components/schemas/RecordRescheduleRequestsResponse":{"id":"components/schemas/RecordRescheduleRequestsResponse","kind":"json-schema","title":"RecordRescheduleRequestsResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"$ref":"#/components/schemas/RecordRescheduleRequestsData"}}}},"components/schemas/RecordCreateRequestItem":{"id":"components/schemas/RecordCreateRequestItem","kind":"json-schema","title":"RecordCreateRequestItem","data":{"type":"object","required":["id","status","at_create","sender_id","receiver_id","service_id","price"],"properties":{"id":{"type":"integer","format":"int64","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор запроса на создание записи."},"children":[]}]}]}]},"status":{"$ref":"#/components/schemas/RecordCreateRequestStatus"},"at_create":{"type":"string","format":"date-time","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Дата и время создания запроса."},"children":[]}]}]}]},"sender_id":{"type":"integer","format":"int64","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор пользователя, который создал запрос."},"children":[]}]}]}]},"receiver_id":{"type":"integer","format":"int64","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор пользователя, который должен подтвердить или отклонить запрос."},"children":[]}]}]}]},"service_id":{"type":"integer","format":"int64","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор услуги."},"children":[]}]}]}]},"record_id":{"type":"integer","format":"int64","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор записи после согласия клиента. До approve равен "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},"price":{"type":"integer","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Цена услуги в запросе."},"children":[]}]}]}]}}}},"components/schemas/RecordCreateRequestsData":{"id":"components/schemas/RecordCreateRequestsData","kind":"json-schema","title":"RecordCreateRequestsData","data":{"type":"object","required":["requests"],"properties":{"requests":{"type":"array","items":{"$ref":"#/components/schemas/RecordCreateRequestItem"}}}}},"components/schemas/RecordCreateRequestsResponse":{"id":"components/schemas/RecordCreateRequestsResponse","kind":"json-schema","title":"RecordCreateRequestsResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"$ref":"#/components/schemas/RecordCreateRequestsData"}}}},"components/schemas/RecordSurchargeRequestItem":{"id":"components/schemas/RecordSurchargeRequestItem","kind":"json-schema","title":"RecordSurchargeRequestItem","data":{"type":"object","required":["id","status","at_create","sender_id","receiver_id","service_id","sum","reason"],"properties":{"id":{"type":"integer","format":"int64","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор запроса на доплату."},"children":[]}]}]}]},"status":{"$ref":"#/components/schemas/RecordSurchargeRequestStatus"},"at_create":{"type":"string","format":"date-time","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Дата и время создания запроса."},"children":[]}]}]}]},"sender_id":{"type":"integer","format":"int64","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор пользователя, который создал запрос."},"children":[]}]}]}]},"receiver_id":{"type":"integer","format":"int64","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор пользователя, который должен оплатить или отклонить доплату."},"children":[]}]}]}]},"service_id":{"type":"integer","format":"int64","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор услуги."},"children":[]}]}]}]},"sum":{"type":"integer","minimum":1,"maximum":1000000,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Сумма дополнительной оплаты."},"children":[]}]}]}]},"reason":{"type":"string","minLength":1,"maxLength":1000,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Причина дополнительной оплаты."},"children":[]}]}]}]},"reject_reason":{"type":"string","nullable":true,"maxLength":1000,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Причина отказа, если запрос был отклонен."},"children":[]}]}]}]}}}},"components/schemas/RecordSurchargeRequestsData":{"id":"components/schemas/RecordSurchargeRequestsData","kind":"json-schema","title":"RecordSurchargeRequestsData","data":{"type":"object","required":["requests"],"properties":{"requests":{"type":"array","items":{"$ref":"#/components/schemas/RecordSurchargeRequestItem"}}}}},"components/schemas/RecordSurchargeRequestsResponse":{"id":"components/schemas/RecordSurchargeRequestsResponse","kind":"json-schema","title":"RecordSurchargeRequestsResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"$ref":"#/components/schemas/RecordSurchargeRequestsData"}}}},"components/schemas/RecordIdData":{"id":"components/schemas/RecordIdData","kind":"json-schema","title":"RecordIdData","data":{"type":"object","required":["record_id"],"properties":{"record_id":{"type":"integer","format":"int64","minimum":1,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор записи."},"children":[]}]}]}],"example":101}}}},"components/schemas/RecordCreateApproveResponse":{"id":"components/schemas/RecordCreateApproveResponse","kind":"json-schema","title":"RecordCreateApproveResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"$ref":"#/components/schemas/RecordIdData"}}}},"components/schemas/RecordPayTestResponse":{"id":"components/schemas/RecordPayTestResponse","kind":"json-schema","title":"RecordPayTestResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"$ref":"#/components/schemas/RecordIdData"}}}},"components/schemas/RecordSurchargePayTestData":{"id":"components/schemas/RecordSurchargePayTestData","kind":"json-schema","title":"RecordSurchargePayTestData","data":{"type":"object","required":["request_id"],"properties":{"request_id":{"type":"integer","format":"int64","minimum":1,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор запроса на доплату, для которого опубликовано событие оплаты."},"children":[]}]}]}],"example":31}}}},"components/schemas/RecordSurchargePayTestResponse":{"id":"components/schemas/RecordSurchargePayTestResponse","kind":"json-schema","title":"RecordSurchargePayTestResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"$ref":"#/components/schemas/RecordSurchargePayTestData"}}}},"components/schemas/MasterAnalytics":{"id":"components/schemas/MasterAnalytics","kind":"json-schema","title":"MasterAnalytics","data":{"type":"object","required":["countRecords","countFreeHours"],"properties":{"countRecords":{"type":"integer","format":"int32","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Количество записей мастера за дату."},"children":[]}]}]}],"example":3},"countFreeHours":{"type":"integer","format":"int32","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Количество свободных часов мастера за дату."},"children":[]}]}]}],"example":4}}}},"components/schemas/MasterAnalyticsData":{"id":"components/schemas/MasterAnalyticsData","kind":"json-schema","title":"MasterAnalyticsData","data":{"type":"object","required":["analytics"],"properties":{"analytics":{"$ref":"#/components/schemas/MasterAnalytics"}}}},"components/schemas/MasterAnalyticsResponse":{"id":"components/schemas/MasterAnalyticsResponse","kind":"json-schema","title":"MasterAnalyticsResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"$ref":"#/components/schemas/MasterAnalyticsData"}}}},"components/schemas/SalonDailyAnalytics":{"id":"components/schemas/SalonDailyAnalytics","kind":"json-schema","title":"SalonDailyAnalytics","data":{"type":"object","required":["count_records","count_free_hours","workload_percent"],"properties":{"count_records":{"type":"integer","format":"int64","minimum":0,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Количество записей салона за день."},"children":[]}]}]}],"example":12},"count_free_hours":{"type":"integer","format":"int64","minimum":0,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Количество свободных полных часов."},"children":[]}]}]}],"example":4},"workload_percent":{"type":"number","format":"double","minimum":0,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Загрузка салона в процентах."},"children":[]}]}]}],"example":75}}}},"components/schemas/SalonDailyAnalyticsData":{"id":"components/schemas/SalonDailyAnalyticsData","kind":"json-schema","title":"SalonDailyAnalyticsData","data":{"type":"object","required":["analytics"],"properties":{"analytics":{"$ref":"#/components/schemas/SalonDailyAnalytics"}}}},"components/schemas/SalonDailyAnalyticsResponse":{"id":"components/schemas/SalonDailyAnalyticsResponse","kind":"json-schema","title":"SalonDailyAnalyticsResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"$ref":"#/components/schemas/SalonDailyAnalyticsData"}}}},"components/schemas/PopularServiceAnalytics":{"id":"components/schemas/PopularServiceAnalytics","kind":"json-schema","title":"PopularServiceAnalytics","data":{"type":"object","required":["service_id","service_name","record_count"],"properties":{"service_id":{"type":"integer","format":"int64","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор услуги."},"children":[]}]}]}],"example":990101},"service_name":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Название услуги. Может быть "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если услуга не найдена."},"children":[]}]}]}],"example":"Manicure"},"record_count":{"type":"integer","format":"int64","minimum":0,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Количество записей по услуге за период."},"children":[]}]}]}],"example":2}}}},"components/schemas/MasterPeriodAnalytics":{"id":"components/schemas/MasterPeriodAnalytics","kind":"json-schema","title":"MasterPeriodAnalytics","data":{"type":"object","required":["record_count","earnings","workload_percent","popular_services"],"properties":{"record_count":{"type":"integer","format":"int64","minimum":0,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Количество записей мастера за период."},"children":[]}]}]}],"example":4},"earnings":{"type":"integer","format":"int64","minimum":0,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Сумма стоимости услуг по записям за период."},"children":[]}]}]}],"example":29000},"workload_percent":{"type":"number","format":"double","minimum":0,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Процент загрузки мастера за период."},"children":[]}]}]}],"example":48.28},"popular_services":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Топ-2 услуги по количеству записей за период."},"children":[]}]}]}],"items":{"$ref":"#/components/schemas/PopularServiceAnalytics"}}}}},"components/schemas/MasterPeriodAnalyticsData":{"id":"components/schemas/MasterPeriodAnalyticsData","kind":"json-schema","title":"MasterPeriodAnalyticsData","data":{"type":"object","required":["analytics"],"properties":{"analytics":{"$ref":"#/components/schemas/MasterPeriodAnalytics"}}}},"components/schemas/MasterPeriodAnalyticsResponse":{"id":"components/schemas/MasterPeriodAnalyticsResponse","kind":"json-schema","title":"MasterPeriodAnalyticsResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"$ref":"#/components/schemas/MasterPeriodAnalyticsData"}}}},"components/schemas/AnalyticsPeriod":{"id":"components/schemas/AnalyticsPeriod","kind":"json-schema","title":"AnalyticsPeriod","data":{"type":"object","required":["start","end"],"properties":{"start":{"type":"string","format":"date"},"end":{"type":"string","format":"date"}}}},"components/schemas/AnalyticsRevenue":{"id":"components/schemas/AnalyticsRevenue","kind":"json-schema","title":"AnalyticsRevenue","data":{"type":"object","required":["value","estimated"],"properties":{"value":{"type":"integer","format":"int64","minimum":0,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Выручка по завершенным записям."},"children":[]}]}]}]},"change_percent":{"type":"number","format":"double","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Изменение относительно предыдущего периода такой же длины."},"children":[]}]}]}]},"estimated":{"type":"integer","format":"int64","minimum":0,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Сумма завершенных и подтвержденных записей за период."},"children":[]}]}]}]}}}},"components/schemas/AnalyticsCount":{"id":"components/schemas/AnalyticsCount","kind":"json-schema","title":"AnalyticsCount","data":{"type":"object","required":["value","change"],"properties":{"value":{"type":"integer","format":"int64","minimum":0},"change":{"type":"integer","format":"int64"}}}},"components/schemas/AnalyticsValuePercent":{"id":"components/schemas/AnalyticsValuePercent","kind":"json-schema","title":"AnalyticsValuePercent","data":{"type":"object","required":["value"],"properties":{"value":{"type":"integer","format":"int64","minimum":0},"change_percent":{"type":"number","format":"double","nullable":true}}}},"components/schemas/AnalyticsDailyRevenue":{"id":"components/schemas/AnalyticsDailyRevenue","kind":"json-schema","title":"AnalyticsDailyRevenue","data":{"type":"object","required":["date","revenue"],"properties":{"date":{"type":"string","format":"date"},"revenue":{"type":"integer","format":"int64","minimum":0}}}},"components/schemas/AnalyticsWorkload":{"id":"components/schemas/AnalyticsWorkload","kind":"json-schema","title":"AnalyticsWorkload","data":{"type":"object","required":["percent","booked_hours","available_hours"],"properties":{"percent":{"type":"number","format":"double","minimum":0},"booked_hours":{"type":"integer","format":"int64","minimum":0},"available_hours":{"type":"integer","format":"int64","minimum":0},"masters_count":{"type":"integer","format":"int32","minimum":0,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Передается только для аналитики салона."},"children":[]}]}]}]}}}},"components/schemas/AnalyticsPopularService":{"id":"components/schemas/AnalyticsPopularService","kind":"json-schema","title":"AnalyticsPopularService","data":{"type":"object","required":["service_id","service_name","record_count","revenue","share_percent"],"properties":{"service_id":{"type":"integer","format":"int64"},"service_name":{"type":"string","nullable":true},"record_count":{"type":"integer","format":"int64","minimum":0},"revenue":{"type":"integer","format":"int64","minimum":0},"share_percent":{"type":"number","format":"double","minimum":0}}}},"components/schemas/PeriodAnalytics":{"id":"components/schemas/PeriodAnalytics","kind":"json-schema","title":"PeriodAnalytics","data":{"type":"object","required":["period","revenue","records","average_check","cancellations","new_clients","revenue_by_day","workload","popular_services"],"properties":{"period":{"$ref":"#/components/schemas/AnalyticsPeriod"},"revenue":{"$ref":"#/components/schemas/AnalyticsRevenue"},"records":{"$ref":"#/components/schemas/AnalyticsCount"},"average_check":{"$ref":"#/components/schemas/AnalyticsValuePercent"},"cancellations":{"$ref":"#/components/schemas/AnalyticsValuePercent"},"new_clients":{"$ref":"#/components/schemas/AnalyticsCount"},"revenue_by_day":{"type":"array","items":{"$ref":"#/components/schemas/AnalyticsDailyRevenue"}},"workload":{"$ref":"#/components/schemas/AnalyticsWorkload"},"popular_services":{"type":"array","maxItems":3,"items":{"$ref":"#/components/schemas/AnalyticsPopularService"}}}}},"components/schemas/PeriodAnalyticsData":{"id":"components/schemas/PeriodAnalyticsData","kind":"json-schema","title":"PeriodAnalyticsData","data":{"type":"object","required":["analytics"],"properties":{"analytics":{"$ref":"#/components/schemas/PeriodAnalytics"}}}},"components/schemas/PeriodAnalyticsResponse":{"id":"components/schemas/PeriodAnalyticsResponse","kind":"json-schema","title":"PeriodAnalyticsResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"$ref":"#/components/schemas/PeriodAnalyticsData"}}}},"components/schemas/RecordStatus":{"id":"components/schemas/RecordStatus","kind":"json-schema","title":"RecordStatus","data":{"type":"string","enum":["WAITING_FOR_PAYMENT","BOOKED","COMPLETED","CANCELED"]}},"components/schemas/UserRecordResponse":{"id":"components/schemas/UserRecordResponse","kind":"json-schema","title":"UserRecordResponse","data":{"type":"object","required":["service_id","provider_id","executor_id","user_id","start","end","status"],"properties":{"id":{"type":"integer","format":"int64","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор записи."},"children":[]}]}]}]},"service_id":{"type":"integer","format":"int64"},"provider_id":{"type":"integer","format":"int64","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Владелец услуги. Для индивидуального мастера совпадает с executor_id."},"children":[]}]}]}]},"executor_id":{"type":"integer","format":"int64","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Исполнитель записи. Сейчас для индивидуального мастера равен provider_id."},"children":[]}]}]}]},"user_id":{"type":"integer","format":"int64"},"start":{"type":"string","format":"date-time","example":"2026-03-11T10:00:00Z"},"end":{"type":"string","format":"date-time","example":"2026-03-11T11:00:00Z"},"status":{"$ref":"#/components/schemas/RecordStatus"},"comment_cancel":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Комментарий причины отмены. Заполняется только для отмененных записей."},"children":[]}]}]}]},"service_name":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Snapshot названия услуги на момент создания записи."},"children":[]}]}]}],"example":"Мужская стрижка"},"service_price":{"type":"integer","format":"int32","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Зафиксированная цена услуги на момент создания записи. Базовая цена определяется по "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"start_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" записи из динамического интервала, а если подходящего интервала нет, используется цена услуги по умолчанию. Скидка услуги применяется всегда. Скидка акционного слота применяется только при отсутствии "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"price_intervals"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Общая скидка ограничена 100%."},"children":[]}]}]}],"example":1500},"service_location":{"type":"string","enum":["IN_SALON","AT_MASTER_PLACE","CLIENT_PLACE"],"nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Snapshot места оказания услуги на момент создания записи."},"children":[]}]}]}],"example":"IN_SALON"},"service_address":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Snapshot адреса услуги на момент создания записи."},"children":[]}]}]}],"example":"г. Москва, ул. Тверская, д.16"},"client_comment":{"type":"string","nullable":true,"maxLength":1000,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Неизменяемый комментарий клиента, указанный при создании записи."},"children":[]}]}]}]},"master_comment":{"type":"string","nullable":true,"maxLength":1000,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Общий изменяемый комментарий мастера/салона."},"children":[]}]}]}]}}}},"components/schemas/RecordGetUserRecordsData":{"id":"components/schemas/RecordGetUserRecordsData","kind":"json-schema","title":"RecordGetUserRecordsData","data":{"type":"object","required":["records"],"properties":{"records":{"type":"array","items":{"$ref":"#/components/schemas/UserRecordResponse"}}}}},"components/schemas/RecordGetRecordData":{"id":"components/schemas/RecordGetRecordData","kind":"json-schema","title":"RecordGetRecordData","data":{"type":"object","required":["record"],"properties":{"record":{"$ref":"#/components/schemas/UserRecordResponse"}}}},"components/schemas/RecordGetRecordResponse":{"id":"components/schemas/RecordGetRecordResponse","kind":"json-schema","title":"RecordGetRecordResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"$ref":"#/components/schemas/RecordGetRecordData"}}}},"components/schemas/RecordGetUserRecordsResponse":{"id":"components/schemas/RecordGetUserRecordsResponse","kind":"json-schema","title":"RecordGetUserRecordsResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"$ref":"#/components/schemas/RecordGetUserRecordsData"}}}},"components/schemas/dtoDialog":{"id":"components/schemas/dtoDialog","kind":"json-schema","title":"dtoDialog","data":{"type":"object","required":["id","chat_interlocutor","message_ids","last_message","unread_count","is_online"],"properties":{"id":{"type":"integer","format":"int64"},"chat_interlocutor":{"$ref":"#/components/schemas/DialogUserDTO"},"message_ids":{"type":"array","items":{"type":"integer","format":"int64"}},"last_message":{"allOf":[{"$ref":"#/components/schemas/MessageResponse"}],"nullable":true},"unread_count":{"type":"integer","format":"int64","minimum":0},"is_online":{"type":"boolean","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Online-статус собеседника в этом диалоге."},"children":[]}]}]}]}}}},"components/schemas/DialogUserDTO":{"id":"components/schemas/DialogUserDTO","kind":"json-schema","title":"DialogUserDTO","data":{"type":"object","required":["id","name","avatar_id","type"],"properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"},"avatar_id":{"type":"integer","format":"int64","nullable":true},"type":{"type":"string","nullable":true,"enum":["CLIENT","MASTER","SALON","SUPPORT"]}}}},"components/schemas/DialogsDTO":{"id":"components/schemas/DialogsDTO","kind":"json-schema","title":"DialogsDTO","data":{"type":"object","required":["id","chat_interlocutor","participants","last_message","unread_count","unread_reactions","is_online"],"properties":{"id":{"type":"integer","format":"int64"},"chat_interlocutor":{"$ref":"#/components/schemas/DialogUserDTO"},"participants":{"type":"array","items":{"type":"integer","format":"int64"}},"last_message":{"allOf":[{"$ref":"#/components/schemas/MessageResponse"}],"nullable":true},"unread_count":{"type":"integer","format":"int64","minimum":0},"unread_reactions":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Непрочитанные реакции на сообщения текущей identity, отсортированные"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"по "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"message_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" от большего к меньшему. Для поддержки всегда "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"[]"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"items":{"$ref":"#/components/schemas/UnreadReaction"}},"is_online":{"type":"boolean","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Online-статус собеседника в этом диалоге."},"children":[]}]}]}]}}}},"components/schemas/UserResponse":{"id":"components/schemas/UserResponse","kind":"json-schema","title":"UserResponse","data":{"type":"object","required":["id","type","name","first_name","last_name"],"properties":{"id":{"type":"integer","format":"int64"},"type":{"type":"string","enum":["CLIENT","MASTER","SALON","SUPPORT"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"РџСѓР±Р»РёС‡РЅС‹Р№ С‚РёРї РѕС‚РїСЂР°РІРёС‚РµР»СЏ/РїРѕР»СѓС‡Р°С‚РµР»СЏ РІ С‡Р°С‚Рµ. Р”Р»СЏ РѕР±С‰РµРіРѕ С‡Р°С‚Р° СЃР°Р»РѕРЅР° РІРѕР·РІСЂР°С‰Р°РµС‚СЃСЏ SALON."},"children":[]}]}]}]},"name":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"РџСѓР±Р»РёС‡РЅРѕРµ РёРјСЏ РґР»СЏ РѕС‚РѕР±СЂР°Р¶РµРЅРёСЏ. Р”Р»СЏ SALON СЌС‚Рѕ РЅР°Р·РІР°РЅРёРµ СЃР°Р»РѕРЅР°."},"children":[]}]}]}]},"first_name":{"type":"string","nullable":true},"last_name":{"type":"string","nullable":true},"id_avatar_file":{"type":"integer","format":"int64","nullable":true}}}},"components/schemas/AudioResponse":{"id":"components/schemas/AudioResponse","kind":"json-schema","title":"AudioResponse","data":{"type":"object","required":["id","file_name"],"properties":{"id":{"type":"integer","format":"int64"},"file_name":{"type":"string"}}}},"components/schemas/ImageResponse":{"id":"components/schemas/ImageResponse","kind":"json-schema","title":"ImageResponse","data":{"type":"object","required":["id","file_name","width","height"],"properties":{"id":{"type":"integer","format":"int64"},"file_name":{"type":"string"},"width":{"type":"integer","format":"int32","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Ширина изображения."},"children":[]}]}]}]},"height":{"type":"integer","format":"int32"}}}},"components/schemas/VideoResponse":{"id":"components/schemas/VideoResponse","kind":"json-schema","title":"VideoResponse","data":{"type":"object","required":["id","file_name"],"properties":{"id":{"type":"integer","format":"int64"},"file_name":{"type":"string"}}}},"components/schemas/DocumentResponse":{"id":"components/schemas/DocumentResponse","kind":"json-schema","title":"DocumentResponse","data":{"type":"object","required":["id","file_name"],"properties":{"id":{"type":"integer","format":"int64"},"file_name":{"type":"string"}}}},"components/schemas/VoiceResponse":{"id":"components/schemas/VoiceResponse","kind":"json-schema","title":"VoiceResponse","data":{"type":"object","required":["id","file_name"],"properties":{"id":{"type":"integer","format":"int64"},"file_name":{"type":"string"}}}},"components/schemas/MessageResponse":{"id":"components/schemas/MessageResponse","kind":"json-schema","title":"MessageResponse","data":{"type":"object","required":["id","from","to"],"properties":{"id":{"type":"integer","format":"int64"},"audios":{"type":"array","nullable":true,"items":{"$ref":"#/components/schemas/AudioResponse"}},"images":{"type":"array","nullable":true,"items":{"$ref":"#/components/schemas/ImageResponse"}},"videos":{"type":"array","nullable":true,"items":{"$ref":"#/components/schemas/VideoResponse"}},"documents":{"type":"array","nullable":true,"items":{"$ref":"#/components/schemas/DocumentResponse"}},"reactions":{"type":"array","nullable":true,"items":{"$ref":"#/components/schemas/ReactionDto"}},"reply":{"allOf":[{"$ref":"#/components/schemas/ReplyMessageDto"}],"nullable":true},"voice":{"allOf":[{"$ref":"#/components/schemas/VoiceResponse"}],"nullable":true},"text":{"type":"string","nullable":true},"at_create":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Дата и время создания в строковом формате, как возвращает backend."},"children":[]}]}]}]},"updated_at":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Дата и время изменения в строковом формате, как возвращает backend."},"children":[]}]}]}]},"from":{"$ref":"#/components/schemas/UserResponse"},"to":{"$ref":"#/components/schemas/UserResponse"},"request":{"allOf":[{"$ref":"#/components/schemas/RequestDto"}],"nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Дополнительное тело интерактивного запроса, если сообщение связано с request."},"children":[]}]}]}]},"service_message":{"allOf":[{"$ref":"#/components/schemas/ServiceMessageResponse"}],"nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Служебное сообщение с типизированным payload."},"children":[]}]}]}]},"real_sender_id":{"type":"integer","format":"int64","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Реальный ID администратора; присутствует только в представлении поддержки."},"children":[]}]}]}]},"real_sender_first_name":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Имя реального администратора; присутствует только в представлении поддержки."},"children":[]}]}]}]},"real_sender_last_name":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Фамилия реального администратора; присутствует только в представлении поддержки."},"children":[]}]}]}]}}}},"components/schemas/ServiceMessageResponse":{"id":"components/schemas/ServiceMessageResponse","kind":"json-schema","title":"ServiceMessageResponse","data":{"type":"object","properties":{"type":{"$ref":"#/components/schemas/ServiceMessageType"},"payload":{"allOf":[{"$ref":"#/components/schemas/ServiceMessagePayload"}],"nullable":true}}}},"components/schemas/ServiceMessageType":{"id":"components/schemas/ServiceMessageType","kind":"json-schema","title":"ServiceMessageType","data":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Тип служебного сообщения чата."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Значения:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CANCEL_RECORD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - уведомление об отмене записи"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"RESULT_RESCHEDULE_RECORD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - результат обработки запроса на перенос записи"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"RESULT_SURCHARGE_REQUEST"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - результат обработки запроса на доплату"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"RESULT_CREATE_RECORD_REQUEST"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - результат предложения записи: отказ, просрочка или оплата"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SUPPORT_RESOLUTION_CONFIRMATION"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - вопрос поддержки о решении проблемы"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"MASTER_ACCOUNT_DELETED_REQUEST_CANCELED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - запрос отменён при удалении аккаунта мастера"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SALON_ACCOUNT_DELETED_REQUEST_CANCELED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - запрос отменён при закрытии салона"},"children":[]}]}]}]}],"enum":["CANCEL_RECORD","RESULT_RESCHEDULE_RECORD","RESULT_SURCHARGE_REQUEST","RESULT_CREATE_RECORD_REQUEST","SUPPORT_RESOLUTION_CONFIRMATION","MASTER_ACCOUNT_DELETED_REQUEST_CANCELED","SALON_ACCOUNT_DELETED_REQUEST_CANCELED"]}},"components/schemas/ServiceMessagePayload":{"id":"components/schemas/ServiceMessagePayload","kind":"json-schema","title":"ServiceMessagePayload","data":{"oneOf":[{"$ref":"#/components/schemas/CancelRecordPayload"},{"$ref":"#/components/schemas/ResultRescheduleRecordPayload"},{"$ref":"#/components/schemas/ResultSurchargeRequestPayload"},{"$ref":"#/components/schemas/ResultCreateRecordRequestPayload"},{"$ref":"#/components/schemas/SupportResolutionConfirmationPayload"},{"$ref":"#/components/schemas/MasterAccountDeletedRequestCanceledPayload"},{"$ref":"#/components/schemas/SalonAccountDeletedRequestCanceledPayload"}]}},"components/schemas/MasterAccountDeletedRequestCanceledPayload":{"id":"components/schemas/MasterAccountDeletedRequestCanceledPayload","kind":"json-schema","title":"MasterAccountDeletedRequestCanceledPayload","data":{"type":"object","required":["text"],"properties":{"text":{"type":"string","example":"Мастер отменил запрос в связи с удалением аккаунта."}}}},"components/schemas/SalonAccountDeletedRequestCanceledPayload":{"id":"components/schemas/SalonAccountDeletedRequestCanceledPayload","kind":"json-schema","title":"SalonAccountDeletedRequestCanceledPayload","data":{"type":"object","required":["text"],"properties":{"text":{"type":"string","example":"Салон закрыт. Незавершённый запрос отменён."}}}},"components/schemas/SupportResolutionConfirmationPayload":{"id":"components/schemas/SupportResolutionConfirmationPayload","kind":"json-schema","title":"SupportResolutionConfirmationPayload","data":{"type":"object","required":["case_id","question","actions"],"properties":{"case_id":{"type":"integer","format":"int64"},"question":{"type":"string"},"actions":{"type":"array","items":{"type":"string","enum":["RESOLVED","NOT_RESOLVED"]}}}}},"components/schemas/CancelRecordPayload":{"id":"components/schemas/CancelRecordPayload","kind":"json-schema","title":"CancelRecordPayload","data":{"type":"object","properties":{"record_id":{"type":"integer","format":"int64"},"canceler_id":{"type":"integer","format":"int64"},"sender_role":{"$ref":"#/components/schemas/ProfileTypeAccount"}}}},"components/schemas/ResultRescheduleRecordPayload":{"id":"components/schemas/ResultRescheduleRecordPayload","kind":"json-schema","title":"ResultRescheduleRecordPayload","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Результат обработки запроса на перенос записи."},"children":[]}]}]}],"properties":{"record_id":{"type":"integer","format":"int64","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор записи, для которой был создан запрос на перенос."},"children":[]}]}]}],"example":101},"actual_start_time":{"type":"string","format":"date-time","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Актуальное время начала записи, переданное при approve/reject обработке."},"children":[]}]}]}],"example":"2026-04-21T10:00:00Z"},"status":{"$ref":"#/components/schemas/StatusRequest"}}}},"components/schemas/ResultSurchargeRequestPayload":{"id":"components/schemas/ResultSurchargeRequestPayload","kind":"json-schema","title":"ResultSurchargeRequestPayload","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Результат обработки запроса на доплату."},"children":[]}]}]}],"properties":{"status":{"$ref":"#/components/schemas/StatusRequest"},"reject_reason":{"type":"string","nullable":true,"maxLength":1000,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Причина отказа. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если запрос на доплату был успешно оплачен."},"children":[]}]}]}],"example":"Не согласен с доплатой"}}}},"components/schemas/ResultCreateRecordRequestPayload":{"id":"components/schemas/ResultCreateRecordRequestPayload","kind":"json-schema","title":"ResultCreateRecordRequestPayload","data":{"type":"object","required":["status"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Результат обработки предложения записи. Цвет, текст и иконку определяет фронтенд."},"children":[]}]}]}],"properties":{"status":{"type":"string","enum":["REJECTED","EXPIRED","PAID"]},"record_id":{"type":"integer","format":"int64","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Передаётся только для "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"status = PAID"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"example":101}}}},"components/schemas/RequestDto":{"id":"components/schemas/RequestDto","kind":"json-schema","title":"RequestDto","data":{"type":"object","required":["id","source_request_id","action","buttons","status_request"],"properties":{"id":{"type":"integer","format":"int64","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор request-сущности Messenger."},"children":[]}]}]}]},"source_request_id":{"type":"integer","format":"int64","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор исходного бизнес-request в service_record."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Для "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"RESCHEDULE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" это "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"reschedule_record_request.id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", для "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CREATE_RECORD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" это "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"create_record_request.id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":","},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"для "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SURCHARGE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" это "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"surcharge_record_request.id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},"action":{"$ref":"#/components/schemas/ActionRequest"},"buttons":{"type":"array","items":{"$ref":"#/components/schemas/ButtonDto"}},"expires_at":{"type":"string","format":"date-time","nullable":true},"payload":{"oneOf":[{"$ref":"#/components/schemas/RescheduleRequestPayload"},{"$ref":"#/components/schemas/CreateRecordRequestPayload"},{"$ref":"#/components/schemas/SurchargeRequestPayload"}],"nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Payload зависит от "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"action"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},"status_request":{"$ref":"#/components/schemas/StatusRequest"}}}},"components/schemas/ButtonDto":{"id":"components/schemas/ButtonDto","kind":"json-schema","title":"ButtonDto","data":{"type":"object","required":["name","action"],"properties":{"name":{"type":"string"},"action":{"$ref":"#/components/schemas/ActionButton"}}}},"components/schemas/ActionRequest":{"id":"components/schemas/ActionRequest","kind":"json-schema","title":"ActionRequest","data":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Тип интерактивного request-сообщения."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Значения:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"RESCHEDULE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - запрос на перенос существующей записи"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CREATE_RECORD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - запрос на создание новой записи"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SURCHARGE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - запрос на дополнительную оплату"},"children":[]}]}]}]}],"enum":["RESCHEDULE","CREATE_RECORD","SURCHARGE"]}},"components/schemas/ActionButton":{"id":"components/schemas/ActionButton","kind":"json-schema","title":"ActionButton","data":{"type":"string","enum":["APPROVE","REJECT","PAY"]}},"components/schemas/StatusRequest":{"id":"components/schemas/StatusRequest","kind":"json-schema","title":"StatusRequest","data":{"type":"string","enum":["APPROVED","REJECTED","WAITING_APPROVE","EXPIRED","WAITING_FOR_PAYMENT","PAID"]}},"components/schemas/RescheduleRequestPayload":{"id":"components/schemas/RescheduleRequestPayload","kind":"json-schema","title":"RescheduleRequestPayload","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Payload для request с "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"action = RESCHEDULE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"properties":{"new_start":{"type":"string","format":"date-time","nullable":true},"service_name":{"type":"string","nullable":true},"record_id":{"type":"integer","format":"int64","nullable":true}}}},"components/schemas/CreateRecordRequestPayload":{"id":"components/schemas/CreateRecordRequestPayload","kind":"json-schema","title":"CreateRecordRequestPayload","data":{"type":"object","required":["service_id","price"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Payload для request с "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"action = CREATE_RECORD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"properties":{"service_id":{"type":"integer","format":"int64","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор услуги, по которой создаётся запись после approve."},"children":[]}]}]}],"example":501},"price":{"type":"integer","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Цена услуги, сохраненная в create-record request."},"children":[]}]}]}],"example":1200},"service_name":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Снимок названия услуги на момент создания запроса; сохраняется после удаления услуги."},"children":[]}]}]}],"example":"Маникюр"}}}},"components/schemas/SurchargeRequestPayload":{"id":"components/schemas/SurchargeRequestPayload","kind":"json-schema","title":"SurchargeRequestPayload","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Payload для request с "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"action = SURCHARGE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"properties":{"service_id":{"type":"integer","format":"int64","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор услуги, по которой создан запрос на доплату."},"children":[]}]}]}],"example":501},"sum":{"type":"integer","minimum":1,"maximum":1000000,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Сумма дополнительной оплаты."},"children":[]}]}]}],"example":1500},"reason":{"type":"string","minLength":1,"maxLength":1000,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Причина дополнительной оплаты."},"children":[]}]}]}],"example":"Доплата за дополнительные материалы"},"service_name":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Снимок названия услуги на момент создания запроса; сохраняется после удаления услуги."},"children":[]}]}]}],"example":"Маникюр"}}}},"components/schemas/ReactionDto":{"id":"components/schemas/ReactionDto","kind":"json-schema","title":"ReactionDto","data":{"type":"object","required":["user_id","reaction_type"],"properties":{"user_id":{"type":"integer","format":"int64"},"reaction_type":{"type":"string","enum":["LIKE","DISLIKE","LOVE","LAUGH","WOW","SAD","ANGRY","FIRE","CHECK","CLAP"]}}}},"components/schemas/ReplyMessageDto":{"id":"components/schemas/ReplyMessageDto","kind":"json-schema","title":"ReplyMessageDto","data":{"type":"object","required":["id","from"],"properties":{"id":{"type":"integer","format":"int64"},"from":{"$ref":"#/components/schemas/UserResponse"},"text":{"type":"string","nullable":true}}}},"components/schemas/SendMessageBody":{"id":"components/schemas/SendMessageBody","kind":"json-schema","title":"SendMessageBody","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Тело запроса для отправки сообщения."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Допустимы два сценария:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"отправка в существующий диалог: передайте "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"dialog_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", поле "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"receiver_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" не нужно"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"отправка напрямую пользователю: передайте "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"receiver_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", поле "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"dialog_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" не нужно"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Дополнительно:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"должно быть заполнено хотя бы одно из полей "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"text"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" или "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"files"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"reply_message_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" можно передать для ответа на существующее сообщение того же диалога"},"children":[]}]}]}]}],"properties":{"text":{"type":"string","nullable":true,"maxLength":4000},"files":{"type":"array","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Список ID файлов сообщения. Можно передать не более 10 файлов."},"children":[]}]}]}],"maxItems":10,"items":{"type":"integer","format":"int64","minimum":1}},"dialog_id":{"type":"integer","format":"int64","minimum":1,"nullable":true},"receiver_id":{"type":"integer","format":"int64","minimum":1,"nullable":true},"reply_message_id":{"type":"integer","format":"int64","minimum":1,"nullable":true}}}},"components/schemas/SendSalonMessageBody":{"id":"components/schemas/SendSalonMessageBody","kind":"json-schema","title":"SendSalonMessageBody","data":{"type":"object","required":["salon_id"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Тело сообщения для отправки в общий чат салона через "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/app/chat.salon.send"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"salon_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" передается вместо "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"receiver_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Backend сам находит владельца салона,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"создает или использует общий диалог клиента с салоном и рассылает событие участникам салонного чата."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Дополнительно должно быть заполнено хотя бы одно из полей "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"text"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" или "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"files"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"properties":{"salon_id":{"type":"integer","format":"int64","minimum":1},"text":{"type":"string","nullable":true,"maxLength":4000},"files":{"type":"array","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Список ID файлов сообщения. Можно передать не более 10 файлов."},"children":[]}]}]}],"maxItems":10,"items":{"type":"integer","format":"int64","minimum":1}},"reply_message_id":{"type":"integer","format":"int64","minimum":1,"nullable":true}}}},"components/schemas/GetMessagesBody":{"id":"components/schemas/GetMessagesBody","kind":"json-schema","title":"GetMessagesBody","data":{"type":"object","required":["id_dialog"],"properties":{"id_dialog":{"type":"integer","format":"int64","minimum":1},"offset":{"type":"integer","format":"int32","minimum":0,"maximum":100000,"nullable":true},"before_id":{"type":"integer","format":"int64","minimum":1,"nullable":true},"limit":{"type":"integer","minimum":1,"maximum":100,"default":50,"nullable":true}}}},"components/schemas/SendMessageResult":{"id":"components/schemas/SendMessageResult","kind":"json-schema","title":"SendMessageResult","data":{"type":"object","required":["id_messages"],"properties":{"id_messages":{"type":"array","items":{"type":"integer","format":"int64"}}}}},"components/schemas/GetMessagesResult":{"id":"components/schemas/GetMessagesResult","kind":"json-schema","title":"GetMessagesResult","data":{"type":"object","required":["messages","limit","has_more"],"properties":{"messages":{"type":"array","items":{"$ref":"#/components/schemas/MessageResponse"}},"offset":{"type":"integer","nullable":true,"minimum":0},"limit":{"type":"integer","minimum":1,"maximum":100},"has_more":{"type":"boolean"},"next_before_id":{"type":"integer","format":"int64","nullable":true}}}},"components/schemas/MessageSingleResponse":{"id":"components/schemas/MessageSingleResponse","kind":"json-schema","title":"MessageSingleResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"$ref":"#/components/schemas/MessageResponse"}}}},"components/schemas/ReadMessageBody":{"id":"components/schemas/ReadMessageBody","kind":"json-schema","title":"ReadMessageBody","data":{"type":"object","required":["dialog_id","last_read_message_id"],"properties":{"dialog_id":{"type":"integer","format":"int64","minimum":1},"last_read_message_id":{"type":"integer","format":"int64","minimum":1}}}},"components/schemas/ReadReactionsBody":{"id":"components/schemas/ReadReactionsBody","kind":"json-schema","title":"ReadReactionsBody","data":{"type":"object","required":["message_ids"],"properties":{"message_ids":{"type":"array","minItems":1,"maxItems":100,"uniqueItems":true,"items":{"type":"integer","format":"int64","minimum":1}}}}},"components/schemas/UnreadReaction":{"id":"components/schemas/UnreadReaction","kind":"json-schema","title":"UnreadReaction","data":{"type":"object","required":["message_id","reaction_type"],"properties":{"message_id":{"type":"integer","format":"int64","minimum":1},"reaction_type":{"$ref":"#/components/schemas/ReactionType"}}}},"components/schemas/PutReactionBody":{"id":"components/schemas/PutReactionBody","kind":"json-schema","title":"PutReactionBody","data":{"type":"object","required":["message_id"],"properties":{"message_id":{"type":"integer","format":"int64","minimum":1},"reaction_type":{"allOf":[{"$ref":"#/components/schemas/ReactionType"}],"nullable":true}}}},"components/schemas/DeliveredWsResponse":{"id":"components/schemas/DeliveredWsResponse","kind":"json-schema","title":"DeliveredWsResponse","data":{"type":"object","required":["dialog_id","messages"],"properties":{"dialog_id":{"type":"integer","format":"int64"},"messages":{"type":"array","items":{"$ref":"#/components/schemas/MessageResponse"}}}}},"components/schemas/NewMessageWsResponse":{"id":"components/schemas/NewMessageWsResponse","kind":"json-schema","title":"NewMessageWsResponse","data":{"type":"object","required":["dialog_id","messages"],"properties":{"dialog_id":{"type":"integer","format":"int64"},"messages":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Список новых сообщений. Каждый элемент может содержать поля "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"request"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"service_message"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"items":{"$ref":"#/components/schemas/MessageResponse"}}}}},"components/schemas/ReadMessageWsResponse":{"id":"components/schemas/ReadMessageWsResponse","kind":"json-schema","title":"ReadMessageWsResponse","data":{"type":"object","required":["dialog_id","last_read_message_id"],"properties":{"dialog_id":{"type":"integer","format":"int64"},"last_read_message_id":{"type":"integer","format":"int64"}}}},"components/schemas/PutReactionWsResponse":{"id":"components/schemas/PutReactionWsResponse","kind":"json-schema","title":"PutReactionWsResponse","data":{"type":"object","required":["dialog_id","message_id","user_id"],"properties":{"dialog_id":{"type":"integer","format":"int64"},"message_id":{"type":"integer","format":"int64"},"user_id":{"type":"integer","format":"int64"},"reaction_type":{"allOf":[{"$ref":"#/components/schemas/ReactionType"}],"nullable":true}}}},"components/schemas/ReactionType":{"id":"components/schemas/ReactionType","kind":"json-schema","title":"ReactionType","data":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Тип реакции на сообщение."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Значения:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"LIKE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - \"👍\""},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"DISLIKE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - \"👎\""},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"LOVE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - \"❤️\""},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"LAUGH"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - \"😂\""},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"WOW"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - \"😮\""},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SAD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - \"😢\""},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ANGRY"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - \"😡\""},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"FIRE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - \"🔥\""},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CHECK"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - \"✅\""},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CLAP"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - \"👏\""},"children":[]}]}]}]}],"enum":["LIKE","DISLIKE","LOVE","LAUGH","WOW","SAD","ANGRY","FIRE","CHECK","CLAP"]}},"components/schemas/UpdateRequestStatusWsResponse":{"id":"components/schemas/UpdateRequestStatusWsResponse","kind":"json-schema","title":"UpdateRequestStatusWsResponse","data":{"type":"object","required":["dialog_id","message_id","new_status"],"properties":{"dialog_id":{"type":"integer","format":"int64"},"message_id":{"type":"integer","format":"int64"},"new_status":{"$ref":"#/components/schemas/StatusRequest"}}}},"components/schemas/UserOnlineStatusWsResponse":{"id":"components/schemas/UserOnlineStatusWsResponse","kind":"json-schema","title":"UserOnlineStatusWsResponse","data":{"type":"object","required":["user_id","dialog_id","is_online"],"properties":{"user_id":{"type":"integer","format":"int64","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор пользователя, чей online-статус изменился."},"children":[]}]}]}]},"dialog_id":{"type":"integer","format":"int64","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор диалога, в котором этот пользователь является собеседником получателя события."},"children":[]}]}]}]},"is_online":{"type":"boolean","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Новый online-статус пользователя."},"children":[]}]}]}]}}}},"components/schemas/WsErrorResponse":{"id":"components/schemas/WsErrorResponse","kind":"json-schema","title":"WsErrorResponse","data":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}}},"components/schemas/ProfileTypeAccount":{"id":"components/schemas/ProfileTypeAccount","kind":"json-schema","title":"ProfileTypeAccount","data":{"type":"string","enum":["CLIENT","MASTER","SALON","ADMIN"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Тип аккаунта текущего пользователя."},"children":[]}]}]}]}},"components/schemas/ProfileGeolocation":{"id":"components/schemas/ProfileGeolocation","kind":"json-schema","title":"ProfileGeolocation","data":{"type":"object","required":["lat","lon"],"properties":{"lat":{"type":"number","format":"double","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Широта"},"children":[]}]}]}],"minimum":-90,"maximum":90},"lon":{"type":"number","format":"double","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Долгота"},"children":[]}]}]}],"minimum":-180,"maximum":180}}}},"components/schemas/ResolvedLocation":{"id":"components/schemas/ResolvedLocation","kind":"json-schema","title":"ResolvedLocation","data":{"type":"object","additionalProperties":false,"required":["city","address"],"properties":{"city":{"type":"string"},"address":{"type":"string"}}}},"components/schemas/ResolvedLocationApiResponse":{"id":"components/schemas/ResolvedLocationApiResponse","kind":"json-schema","title":"ResolvedLocationApiResponse","data":{"type":"object","additionalProperties":false,"required":["success","message","codeError","error_code","data"],"properties":{"success":{"type":"boolean","enum":[true],"example":true},"message":{"type":"string","example":"Location resolved successfully"},"codeError":{"type":"string","nullable":true,"example":null},"error_code":{"type":"string","nullable":true,"example":null},"data":{"$ref":"#/components/schemas/ResolvedLocation"}}}},"components/schemas/CreateUserAddressRequest":{"id":"components/schemas/CreateUserAddressRequest","kind":"json-schema","title":"CreateUserAddressRequest","data":{"type":"object","additionalProperties":false,"required":["city","address","geolocation"],"properties":{"city":{"type":"string","minLength":1,"maxLength":100},"address":{"type":"string","minLength":1,"maxLength":1000},"geolocation":{"$ref":"#/components/schemas/ProfileGeolocation"}}}},"components/schemas/UserAddress":{"id":"components/schemas/UserAddress","kind":"json-schema","title":"UserAddress","data":{"type":"object","additionalProperties":false,"required":["id","city","address","geolocation","is_active"],"properties":{"id":{"type":"integer","format":"int64"},"city":{"type":"string"},"address":{"type":"string"},"geolocation":{"$ref":"#/components/schemas/ProfileGeolocation"},"is_active":{"type":"boolean"}}}},"components/schemas/UserAddressListData":{"id":"components/schemas/UserAddressListData","kind":"json-schema","title":"UserAddressListData","data":{"type":"object","additionalProperties":false,"required":["addresses"],"properties":{"addresses":{"type":"array","items":{"$ref":"#/components/schemas/UserAddress"}}}}},"components/schemas/UserAddressData":{"id":"components/schemas/UserAddressData","kind":"json-schema","title":"UserAddressData","data":{"type":"object","additionalProperties":false,"required":["address"],"properties":{"address":{"$ref":"#/components/schemas/UserAddress"}}}},"components/schemas/DeleteUserAddressData":{"id":"components/schemas/DeleteUserAddressData","kind":"json-schema","title":"DeleteUserAddressData","data":{"type":"object","additionalProperties":false,"required":["deleted","address_id"],"properties":{"deleted":{"type":"boolean"},"address_id":{"type":"integer","format":"int64"}}}},"components/schemas/UserAddressListApiResponse":{"id":"components/schemas/UserAddressListApiResponse","kind":"json-schema","title":"UserAddressListApiResponse","data":{"type":"object","additionalProperties":false,"required":["success","message","codeError","error_code","data"],"properties":{"success":{"type":"boolean","enum":[true],"example":true},"message":{"type":"string","example":"User addresses retrieved successfully"},"codeError":{"type":"string","nullable":true,"example":null},"error_code":{"type":"string","nullable":true,"example":null},"data":{"$ref":"#/components/schemas/UserAddressListData"}}}},"components/schemas/UserAddressApiResponse":{"id":"components/schemas/UserAddressApiResponse","kind":"json-schema","title":"UserAddressApiResponse","data":{"type":"object","additionalProperties":false,"required":["success","message","codeError","error_code","data"],"properties":{"success":{"type":"boolean","enum":[true],"example":true},"message":{"type":"string","example":"User address added successfully"},"codeError":{"type":"string","nullable":true,"example":null},"error_code":{"type":"string","nullable":true,"example":null},"data":{"$ref":"#/components/schemas/UserAddressData"}}}},"components/schemas/DeleteUserAddressApiResponse":{"id":"components/schemas/DeleteUserAddressApiResponse","kind":"json-schema","title":"DeleteUserAddressApiResponse","data":{"type":"object","additionalProperties":false,"required":["success","message","codeError","error_code","data"],"properties":{"success":{"type":"boolean","enum":[true],"example":true},"message":{"type":"string","example":"User address deleted successfully"},"codeError":{"type":"string","nullable":true,"example":null},"error_code":{"type":"string","nullable":true,"example":null},"data":{"$ref":"#/components/schemas/DeleteUserAddressData"}}}},"components/schemas/EditCurrentUserRequest":{"id":"components/schemas/EditCurrentUserRequest","kind":"json-schema","title":"EditCurrentUserRequest","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Тело запроса на обновление профиля текущего пользователя."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Валидным считается запрос, в котором корректно заполнено хотя бы одно поле."},"children":[]}]}]}],"properties":{"first_name":{"type":"string","nullable":true,"minLength":1,"maxLength":100,"pattern":".*\\S.*"},"last_name":{"type":"string","nullable":true,"minLength":1,"maxLength":100,"pattern":".*\\S.*"},"city":{"type":"string","nullable":true,"minLength":1,"maxLength":30,"pattern":".*\\S.*"},"avatar":{"type":"integer","format":"int64","nullable":true,"minimum":1,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID файла, который принадлежит пользователю и может быть установлен как аватар."},"children":[]}]}]}]},"geolocation":{"allOf":[{"$ref":"#/components/schemas/ProfileGeolocation"}],"nullable":true},"category_ids":{"type":"array","description":"Category IDs used for personalized recommendations for the user.\nWhen the field is provided, it must be an array. An empty array is allowed and clears the saved preferences.\nAll IDs must exist.\n","items":{"type":"integer","format":"int64","minimum":1}}}}},"components/schemas/ProfileUser":{"id":"components/schemas/ProfileUser","kind":"json-schema","title":"ProfileUser","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Профиль пользователя в том виде, в котором его возвращает backend."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Имена полей в ответе возвращаются в формате "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"first_second"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"properties":{"id":{"type":"integer","format":"int64","nullable":true},"first_name":{"type":"string","nullable":true},"last_name":{"type":"string","nullable":true},"city":{"type":"string","nullable":true},"address":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Вычисляемый адрес пользователя. Для города равен "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"city"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", для точной геолокации определяется обратным геокодированием."},"children":[]}]}]}]},"phone":{"type":"string","nullable":true},"email":{"type":"string","format":"email","nullable":true},"avatar":{"type":"integer","format":"int64","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID файла-аватара"},"children":[]}]}]}]},"category_ids":{"type":"array","nullable":true,"description":"Category IDs used for personalized recommendations for the user.","items":{"type":"integer","format":"int64"}},"geolocation":{"allOf":[{"$ref":"#/components/schemas/ProfileGeolocation"}],"nullable":true},"type_account":{"allOf":[{"$ref":"#/components/schemas/ProfileTypeAccount"}],"nullable":true}}}},"components/schemas/GetCurrentUserData":{"id":"components/schemas/GetCurrentUserData","kind":"json-schema","title":"GetCurrentUserData","data":{"type":"object","required":["user"],"properties":{"user":{"$ref":"#/components/schemas/ProfileUser"}}}},"components/schemas/AccountBlockStatusData":{"id":"components/schemas/AccountBlockStatusData","kind":"json-schema","title":"AccountBlockStatusData","data":{"type":"object","required":["blocked","reason"],"properties":{"blocked":{"type":"boolean","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Признак того, что текущий аккаунт или его салон заблокирован."},"children":[]}]}]}]},"reason":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Причина блокировки; "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если аккаунт не заблокирован."},"children":[]}]}]}]}}}},"components/schemas/AccountBlockStatusResponse":{"id":"components/schemas/AccountBlockStatusResponse","kind":"json-schema","title":"AccountBlockStatusResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"$ref":"#/components/schemas/AccountBlockStatusData"}}}},"components/schemas/GetCurrentUserResponse":{"id":"components/schemas/GetCurrentUserResponse","kind":"json-schema","title":"GetCurrentUserResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"$ref":"#/components/schemas/GetCurrentUserData"}}}},"components/schemas/UpdateCurrentUserData":{"id":"components/schemas/UpdateCurrentUserData","kind":"json-schema","title":"UpdateCurrentUserData","data":{"type":"object","required":["changed","user"],"properties":{"changed":{"type":"boolean","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Показывает, было ли реально изменено хотя бы одно поле профиля."},"children":[]}]}]}]},"user":{"$ref":"#/components/schemas/ProfileUser"}}}},"components/schemas/UpdateCurrentUserResponse":{"id":"components/schemas/UpdateCurrentUserResponse","kind":"json-schema","title":"UpdateCurrentUserResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"$ref":"#/components/schemas/UpdateCurrentUserData"}}}},"components/schemas/ProfileMasterServiceLocation":{"id":"components/schemas/ProfileMasterServiceLocation","kind":"json-schema","title":"ProfileMasterServiceLocation","data":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Вариант места оказания услуги мастером."},"children":[]}]}]}],"enum":["IN_SALON","AT_MASTER_PLACE","CLIENT_PLACE"]}},"components/schemas/ServiceLocationRequest":{"id":"components/schemas/ServiceLocationRequest","kind":"json-schema","title":"ServiceLocationRequest","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Место оказания услуги индивидуального мастера."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"address"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" обязателен для любого варианта. Если "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"geolocation"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" не передан, backend геокодирует адрес."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Для "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"IN_SALON"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" дополнительно обязателен "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"salon_name"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", для "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CLIENT_PLACE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"radius_km"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":["service_location","address"],"properties":{"service_location":{"$ref":"#/components/schemas/ProfileMasterServiceLocation"},"salon_name":{"type":"string","nullable":true,"minLength":1,"maxLength":255,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Обязательно для "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"IN_SALON"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},"address":{"type":"string","minLength":1,"maxLength":1000},"geolocation":{"allOf":[{"$ref":"#/components/schemas/ProfileGeolocation"}],"nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Если не передана, backend геокодирует "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"address"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},"radius_km":{"type":"integer","nullable":true,"enum":[1,5,10,20],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Обязательно для "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CLIENT_PLACE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; для остальных вариантов не передаётся."},"children":[]}]}]}]}}}},"components/schemas/ServiceLocationResponse":{"id":"components/schemas/ServiceLocationResponse","kind":"json-schema","title":"ServiceLocationResponse","data":{"type":"object","required":["service_location"],"properties":{"service_location":{"$ref":"#/components/schemas/ProfileMasterServiceLocation"},"salon_name":{"type":"string","nullable":true},"address":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Адрес места оказания услуги."},"children":[]}]}]}]},"radius_km":{"type":"integer","nullable":true,"enum":[1,5,10,20]}}}},"components/schemas/TagSpecializationResponse":{"id":"components/schemas/TagSpecializationResponse","kind":"json-schema","title":"TagSpecializationResponse","data":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"name":{"type":"string","nullable":true}}}},"components/schemas/SalonAmenity":{"id":"components/schemas/SalonAmenity","kind":"json-schema","title":"SalonAmenity","data":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Удобства салона."},"children":[]}]}]}],"enum":["PARKING","PET_FRIENDLY","KIDS_ROOM","TEA_COFFEE"]}},"components/schemas/SalonDayOfWeek":{"id":"components/schemas/SalonDayOfWeek","kind":"json-schema","title":"SalonDayOfWeek","data":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"День недели."},"children":[]}]}]}],"enum":["MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY","SATURDAY","SUNDAY"]}},"components/schemas/SalonWorkingDay":{"id":"components/schemas/SalonWorkingDay","kind":"json-schema","title":"SalonWorkingDay","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Рабочий день салона."},"children":[]}]}]}],"required":["day_of_week","working"],"properties":{"day_of_week":{"$ref":"#/components/schemas/SalonDayOfWeek"},"working":{"type":"boolean","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Рабочий день или выходной."},"children":[]}]}]}]},"start_time":{"type":"string","format":"partial-time","nullable":true,"pattern":"^([01]\\d|2[0-3]):[0-5]\\d$","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Время начала работы в формате "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"HH:mm"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Обязательно для рабочего дня."},"children":[]}]}]}],"example":"09:00"},"end_time":{"type":"string","format":"partial-time","nullable":true,"pattern":"^([01]\\d|2[0-3]):[0-5]\\d$","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Время окончания работы в формате "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"HH:mm"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Обязательно для рабочего дня."},"children":[]}]}]}],"example":"18:00"}}}},"components/schemas/EditSalonRequest":{"id":"components/schemas/EditSalonRequest","kind":"json-schema","title":"EditSalonRequest","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Тело запроса на частичное заполнение или изменение салона."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Нужно передать хотя бы одно корректное поле."},"children":[]}]}]}],"properties":{"name":{"type":"string","nullable":true,"minLength":1,"maxLength":100,"pattern":".*\\S.*"},"cover_photo_id":{"type":"integer","format":"int64","nullable":true,"minimum":1,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID файла обложки. Файл должен принадлежать пользователю и иметь purpose "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CARD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},"city":{"type":"string","nullable":true,"minLength":1,"maxLength":30,"pattern":".*\\S.*"},"address":{"type":"string","nullable":true,"minLength":1,"maxLength":1000,"pattern":".*\\S.*"},"geolocation":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/ProfileGeolocation"}]},"contact_phone":{"type":"string","nullable":true,"minLength":1,"maxLength":32,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Контактный телефон салона."},"children":[]}]}]}]},"description":{"type":"string","nullable":true,"minLength":1,"maxLength":1000,"pattern":".*\\S.*"},"interior_description":{"type":"string","nullable":true,"minLength":1,"maxLength":1000,"pattern":".*\\S.*"},"category_ids":{"type":"array","nullable":true,"uniqueItems":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID существующих категорий салона."},"children":[]}]}]}],"items":{"type":"integer","format":"int64","minimum":1}},"advantages":{"type":"array","nullable":true,"uniqueItems":true,"maxItems":5,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Преимущества салона. Каждый элемент должен быть непустой строкой длиной до 50 символов."},"children":[]}]}]}],"items":{"type":"string","minLength":1,"maxLength":50,"pattern":".*\\S.*"}},"interior_images":{"type":"array","nullable":true,"uniqueItems":true,"maxItems":10,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID фотографий интерьера. Все файлы должны принадлежать пользователю и иметь purpose "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CARD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"items":{"type":"integer","format":"int64","minimum":1}},"amenities":{"type":"array","nullable":true,"uniqueItems":true,"maxItems":4,"items":{"$ref":"#/components/schemas/SalonAmenity"}},"working_days":{"type":"array","nullable":true,"minItems":7,"maxItems":7,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Ровно 7 дней, в порядке "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"MONDAY"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" -> "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SUNDAY"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"items":{"$ref":"#/components/schemas/SalonWorkingDay"}}}}},"components/schemas/SalonProfile":{"id":"components/schemas/SalonProfile","kind":"json-schema","title":"SalonProfile","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Салон в том виде, в котором его возвращает backend."},"children":[]}]}]}],"properties":{"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"interior_description":{"type":"string","nullable":true},"city":{"type":"string","nullable":true},"address":{"type":"string","nullable":true},"geolocation":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/ProfileGeolocation"}]},"contact_phone":{"type":"string","nullable":true},"cover_photo_id":{"type":"integer","format":"int64","nullable":true},"category_ids":{"type":"array","nullable":true,"items":{"type":"integer","format":"int64"}},"advantages":{"type":"array","nullable":true,"items":{"type":"string"}},"interior_images":{"type":"array","nullable":true,"items":{"type":"integer","format":"int64"}},"amenities":{"type":"array","nullable":true,"items":{"$ref":"#/components/schemas/SalonAmenity"}},"working_days":{"type":"array","nullable":true,"items":{"$ref":"#/components/schemas/SalonWorkingDay"}},"rating":{"type":"number","format":"double","nullable":true}}}},"components/schemas/GetSalonData":{"id":"components/schemas/GetSalonData","kind":"json-schema","title":"GetSalonData","data":{"allOf":[{"$ref":"#/components/schemas/SalonProfile"}]}},"components/schemas/GetSalonResponse":{"id":"components/schemas/GetSalonResponse","kind":"json-schema","title":"GetSalonResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"$ref":"#/components/schemas/GetSalonData"}}}},"components/schemas/UpdateSalonData":{"id":"components/schemas/UpdateSalonData","kind":"json-schema","title":"UpdateSalonData","data":{"allOf":[{"type":"object","required":["changed"],"properties":{"changed":{"type":"boolean","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Показывает, было ли реально изменено хотя бы одно поле салона."},"children":[]}]}]}]}}},{"$ref":"#/components/schemas/SalonProfile"}]}},"components/schemas/UpdateSalonResponse":{"id":"components/schemas/UpdateSalonResponse","kind":"json-schema","title":"UpdateSalonResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"$ref":"#/components/schemas/UpdateSalonData"}}}},"components/schemas/EditCurrentMasterRequest":{"id":"components/schemas/EditCurrentMasterRequest","kind":"json-schema","title":"EditCurrentMasterRequest","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Тело запроса на обновление профиля текущего мастера."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Валидным считается запрос, в котором корректно заполнено хотя бы одно поле."},"children":[]}]}]}],"properties":{"first_name":{"type":"string","nullable":true,"minLength":1,"maxLength":100,"pattern":".*\\S.*"},"last_name":{"type":"string","nullable":true,"minLength":1,"maxLength":100,"pattern":".*\\S.*"},"city":{"type":"string","nullable":true,"minLength":1,"maxLength":30,"pattern":".*\\S.*"},"avatar":{"type":"integer","format":"int64","nullable":true,"minimum":1,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID файла, который принадлежит пользователю и может быть установлен как аватар."},"children":[]}]}]}]},"geolocation":{"allOf":[{"$ref":"#/components/schemas/ProfileGeolocation"}],"nullable":true},"category_ids":{"type":"array","description":"Category IDs of services provided by the master.\nWhen the field is provided, it must be an array. An empty array is allowed.\nAll IDs must exist.\n","items":{"type":"integer","format":"int64","minimum":1}},"example_work_images":{"type":"array","nullable":true,"minItems":1,"maxItems":10,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID карточек мастера. Все файлы должны принадлежать пользователю и иметь purpose "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CARD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"items":{"type":"integer","format":"int64","minimum":1}},"experience_years":{"type":"integer","format":"int64","nullable":true,"minimum":0,"maximum":720},"address":{"type":"string","nullable":true,"minLength":1,"maxLength":1000,"pattern":".*\\S.*"},"description":{"type":"string","nullable":true,"minLength":1,"maxLength":1000,"pattern":".*\\S.*"},"interior_description":{"type":"string","nullable":true,"minLength":1,"maxLength":1000,"pattern":".*\\S.*"},"interior_images":{"type":"array","nullable":true,"minItems":1,"maxItems":10,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID фотографий интерьера. Все файлы должны принадлежать пользователю и иметь purpose "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CARD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"items":{"type":"integer","format":"int64","minimum":1}},"advantages":{"type":"array","nullable":true,"minItems":1,"maxItems":5,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Преимущества мастера. Каждый элемент должен быть непустой строкой длиной до 50 символов."},"children":[]}]}]}],"items":{"type":"string","minLength":1,"maxLength":50,"pattern":".*\\S.*"}},"service_locations":{"type":"array","nullable":true,"minItems":1,"maxItems":3,"uniqueItems":true,"items":{"$ref":"#/components/schemas/ServiceLocationRequest"}}}}},"components/schemas/CreateSalonMasterRequest":{"id":"components/schemas/CreateSalonMasterRequest","kind":"json-schema","title":"CreateSalonMasterRequest","data":{"type":"object","required":["first_name","last_name"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Тело запроса на создание мастера внутри салона."},"children":[]}]}]}],"properties":{"first_name":{"type":"string","minLength":1,"maxLength":100,"pattern":".*\\S.*"},"last_name":{"type":"string","minLength":1,"maxLength":100,"pattern":".*\\S.*"},"avatar":{"type":"integer","format":"int64","nullable":true,"minimum":1,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID файла, который принадлежит пользователю и может быть установлен как аватар."},"children":[]}]}]}]},"category_ids":{"type":"array","nullable":true,"uniqueItems":true,"description":"Category IDs of services provided by the salon master.\nAll IDs must be positive and must exist.\n","items":{"type":"integer","format":"int64","minimum":1}},"example_work_images":{"type":"array","nullable":true,"uniqueItems":true,"minItems":1,"maxItems":10,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID карточек мастера. Все файлы должны принадлежать пользователю и иметь purpose "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CARD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"items":{"type":"integer","format":"int64","minimum":1}},"experience_years":{"type":"integer","format":"int64","nullable":true,"minimum":0,"maximum":720,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Опыт работы мастера в месяцах."},"children":[]}]}]}]},"description":{"type":"string","nullable":true,"minLength":1,"maxLength":1000,"pattern":".*\\S.*"},"interior_description":{"type":"string","nullable":true,"minLength":1,"maxLength":1000,"pattern":".*\\S.*"},"interior_images":{"type":"array","nullable":true,"uniqueItems":true,"minItems":1,"maxItems":10,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID фотографий интерьера. Все файлы должны принадлежать пользователю и иметь purpose "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CARD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"items":{"type":"integer","format":"int64","minimum":1}},"advantages":{"type":"array","nullable":true,"uniqueItems":true,"minItems":1,"maxItems":5,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Преимущества мастера. Каждый элемент должен быть непустой строкой длиной до 50 символов."},"children":[]}]}]}],"items":{"type":"string","minLength":1,"maxLength":50,"pattern":".*\\S.*"}},"min_booking_lead_time_minutes":{"type":"integer","format":"int32","nullable":true,"minimum":0},"break_after_service_min":{"type":"integer","format":"int32","nullable":true,"minimum":0}}}},"components/schemas/ProfileMaster":{"id":"components/schemas/ProfileMaster","kind":"json-schema","title":"ProfileMaster","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Профиль мастера в том виде, в котором его возвращает backend."},"children":[]}]}]}],"properties":{"id":{"type":"integer","format":"int64","nullable":true},"user_id":{"type":"integer","format":"int64","nullable":true},"category_ids":{"type":"array","nullable":true,"description":"Category IDs of services provided by the master.","items":{"type":"integer","format":"int64"}},"example_work_images":{"type":"array","nullable":true,"items":{"type":"integer","format":"int64"}},"experience_years":{"type":"integer","format":"int64","nullable":true},"address":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"interior_description":{"type":"string","nullable":true},"interior_images":{"type":"array","nullable":true,"items":{"type":"integer","format":"int64"}},"advantages":{"type":"array","nullable":true,"items":{"type":"string"}},"service_locations":{"type":"array","nullable":true,"minItems":1,"maxItems":3,"uniqueItems":true,"items":{"$ref":"#/components/schemas/ServiceLocationResponse"}},"min_booking_lead_time_minutes":{"type":"integer","format":"int32","nullable":true},"break_after_service_min":{"type":"integer","format":"int64","nullable":true},"phone":{"type":"string","nullable":true},"email":{"type":"string","nullable":true},"first_name":{"type":"string","nullable":true},"last_name":{"type":"string","nullable":true},"city":{"type":"string","nullable":true},"avatar":{"type":"integer","format":"int64","nullable":true},"geolocation":{"allOf":[{"$ref":"#/components/schemas/ProfileGeolocation"}],"nullable":true}}}},"components/schemas/SalonMasterCardProfile":{"id":"components/schemas/SalonMasterCardProfile","kind":"json-schema","title":"SalonMasterCardProfile","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Публичная карточка мастера салона без телефона и email."},"children":[]}]}]}],"properties":{"id":{"type":"integer","format":"int64","nullable":true},"salon_id":{"type":"integer","format":"int64","nullable":true},"user_id":{"type":"integer","format":"int64","nullable":true},"category_ids":{"type":"array","nullable":true,"description":"Category IDs of services provided by the salon master.","items":{"type":"integer","format":"int64"}},"example_work_images":{"type":"array","nullable":true,"items":{"type":"integer","format":"int64"}},"experience_years":{"type":"integer","format":"int64","nullable":true},"description":{"type":"string","nullable":true},"interior_description":{"type":"string","nullable":true},"interior_images":{"type":"array","nullable":true,"items":{"type":"integer","format":"int64"}},"advantages":{"type":"array","nullable":true,"items":{"type":"string"}},"min_booking_lead_time_minutes":{"type":"integer","format":"int32","nullable":true},"break_after_service_min":{"type":"integer","format":"int64","nullable":true},"rating":{"type":"number","format":"double","nullable":true},"first_name":{"type":"string","nullable":true},"last_name":{"type":"string","nullable":true},"city":{"type":"string","nullable":true},"avatar":{"type":"integer","format":"int64","nullable":true}}}},"components/schemas/SalonMasterProfile":{"id":"components/schemas/SalonMasterProfile","kind":"json-schema","title":"SalonMasterProfile","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Профиль мастера салона в том виде, в котором его возвращает backend."},"children":[]}]}]}],"properties":{"id":{"type":"integer","format":"int64","nullable":true},"salon_id":{"type":"integer","format":"int64","nullable":true},"user_id":{"type":"integer","format":"int64","nullable":true},"category_ids":{"type":"array","nullable":true,"description":"Category IDs of services provided by the salon master.","items":{"type":"integer","format":"int64"}},"example_work_images":{"type":"array","nullable":true,"items":{"type":"integer","format":"int64"}},"experience_years":{"type":"integer","format":"int64","nullable":true},"description":{"type":"string","nullable":true},"interior_description":{"type":"string","nullable":true},"interior_images":{"type":"array","nullable":true,"items":{"type":"integer","format":"int64"}},"advantages":{"type":"array","nullable":true,"items":{"type":"string"}},"min_booking_lead_time_minutes":{"type":"integer","format":"int32","nullable":true},"break_after_service_min":{"type":"integer","format":"int64","nullable":true},"rating":{"type":"number","format":"double","nullable":true},"phone":{"type":"string","nullable":true},"email":{"type":"string","nullable":true},"first_name":{"type":"string","nullable":true},"last_name":{"type":"string","nullable":true},"city":{"type":"string","nullable":true},"avatar":{"type":"integer","format":"int64","nullable":true},"member_status":{"type":"string","enum":["ACTIVE","TEMPORARILY_UNAVAILABLE","PENDING_DELETE"]},"reason_status_change":{"type":"string","nullable":true},"status_period_start":{"type":"string","format":"date-time","nullable":true},"status_period_end":{"type":"string","format":"date-time","nullable":true}}}},"components/schemas/CreateSalonMasterData":{"id":"components/schemas/CreateSalonMasterData","kind":"json-schema","title":"CreateSalonMasterData","data":{"type":"object","required":["salon_master"],"properties":{"salon_master":{"$ref":"#/components/schemas/SalonMasterProfile"}}}},"components/schemas/CreateSalonMasterResponse":{"id":"components/schemas/CreateSalonMasterResponse","kind":"json-schema","title":"CreateSalonMasterResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"$ref":"#/components/schemas/CreateSalonMasterData"}}}},"components/schemas/EditSalonMasterRequest":{"id":"components/schemas/EditSalonMasterRequest","kind":"json-schema","title":"EditSalonMasterRequest","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Тело запроса на частичное изменение мастера салона."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Нужно передать хотя бы одно корректное поле."},"children":[]}]}]}],"properties":{"first_name":{"type":"string","nullable":true,"minLength":1,"maxLength":100,"pattern":".*\\S.*"},"last_name":{"type":"string","nullable":true,"minLength":1,"maxLength":100,"pattern":".*\\S.*"},"avatar":{"type":"integer","format":"int64","nullable":true,"minimum":1,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID файла, который принадлежит пользователю и может быть установлен как аватар."},"children":[]}]}]}]},"category_ids":{"type":"array","nullable":true,"uniqueItems":true,"description":"Category IDs of services provided by the salon master.\nAll IDs must be positive and must exist.\n","items":{"type":"integer","format":"int64","minimum":1}},"example_work_images":{"type":"array","nullable":true,"uniqueItems":true,"minItems":1,"maxItems":10,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID карточек мастера. Все файлы должны принадлежать пользователю и иметь purpose "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CARD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"items":{"type":"integer","format":"int64","minimum":1}},"experience_years":{"type":"integer","format":"int64","nullable":true,"minimum":0,"maximum":720,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Опыт работы мастера в месяцах."},"children":[]}]}]}]},"description":{"type":"string","nullable":true,"minLength":1,"maxLength":1000,"pattern":".*\\S.*"},"interior_description":{"type":"string","nullable":true,"minLength":1,"maxLength":1000,"pattern":".*\\S.*"},"interior_images":{"type":"array","nullable":true,"uniqueItems":true,"minItems":1,"maxItems":10,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID фотографий интерьера. Все файлы должны принадлежать пользователю и иметь purpose "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CARD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"items":{"type":"integer","format":"int64","minimum":1}},"advantages":{"type":"array","nullable":true,"uniqueItems":true,"minItems":1,"maxItems":5,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Преимущества мастера. Каждый элемент должен быть непустой строкой длиной до 50 символов."},"children":[]}]}]}],"items":{"type":"string","minLength":1,"maxLength":50,"pattern":".*\\S.*"}},"min_booking_lead_time_minutes":{"type":"integer","format":"int32","nullable":true,"minimum":0},"break_after_service_min":{"type":"integer","format":"int32","nullable":true,"minimum":0}}}},"components/schemas/UpdateSalonMasterData":{"id":"components/schemas/UpdateSalonMasterData","kind":"json-schema","title":"UpdateSalonMasterData","data":{"type":"object","required":["changed","salon_master"],"properties":{"changed":{"type":"boolean","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Показывает, было ли реально изменено хотя бы одно поле мастера салона."},"children":[]}]}]}]},"salon_master":{"$ref":"#/components/schemas/SalonMasterProfile"}}}},"components/schemas/UpdateSalonMasterResponse":{"id":"components/schemas/UpdateSalonMasterResponse","kind":"json-schema","title":"UpdateSalonMasterResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"$ref":"#/components/schemas/UpdateSalonMasterData"}}}},"components/schemas/CreateSalonAdminRequest":{"id":"components/schemas/CreateSalonAdminRequest","kind":"json-schema","title":"CreateSalonAdminRequest","data":{"type":"object","required":["first_name","last_name"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Тело запроса на создание администратора внутри салона."},"children":[]}]}]}],"properties":{"first_name":{"type":"string","minLength":1,"maxLength":100,"pattern":".*\\S.*"},"last_name":{"type":"string","minLength":1,"maxLength":100,"pattern":".*\\S.*"}}}},"components/schemas/EditSalonAdminRequest":{"id":"components/schemas/EditSalonAdminRequest","kind":"json-schema","title":"EditSalonAdminRequest","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Тело запроса на частичное изменение администратора салона."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Нужно передать хотя бы одно корректное поле."},"children":[]}]}]}],"properties":{"first_name":{"type":"string","nullable":true,"minLength":1,"maxLength":100,"pattern":".*\\S.*"},"last_name":{"type":"string","nullable":true,"minLength":1,"maxLength":100,"pattern":".*\\S.*"}}}},"components/schemas/SalonAdminProfile":{"id":"components/schemas/SalonAdminProfile","kind":"json-schema","title":"SalonAdminProfile","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Администратор салона в том виде, в котором его возвращает backend."},"children":[]}]}]}],"properties":{"id":{"type":"integer","format":"int64","nullable":true},"salon_id":{"type":"integer","format":"int64","nullable":true},"user_id":{"type":"integer","format":"int64","nullable":true},"first_name":{"type":"string","nullable":true},"last_name":{"type":"string","nullable":true},"member_status":{"type":"string","enum":["ACTIVE","TEMPORARILY_UNAVAILABLE","PENDING_DELETE"]},"reason_status_change":{"type":"string","nullable":true},"status_period_start":{"type":"string","format":"date-time","nullable":true},"status_period_end":{"type":"string","format":"date-time","nullable":true}}}},"components/schemas/ScheduleSalonMemberDeletionRequest":{"id":"components/schemas/ScheduleSalonMemberDeletionRequest","kind":"json-schema","title":"ScheduleSalonMemberDeletionRequest","data":{"type":"object","required":["reason"],"additionalProperties":false,"properties":{"reason":{"type":"string","minLength":1,"maxLength":500,"pattern":".*\\S.*","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Стандартная либо пользовательская причина; backend сохраняет значение после trim."},"children":[]}]}]}]}}}},"components/schemas/SalonMemberDeletionSchedule":{"id":"components/schemas/SalonMemberDeletionSchedule","kind":"json-schema","title":"SalonMemberDeletionSchedule","data":{"type":"object","required":["member_id","user_id","member_type","member_status","reason","scheduled_at","deletion_at"],"properties":{"member_id":{"type":"integer","format":"int64"},"user_id":{"type":"integer","format":"int64"},"member_type":{"type":"string","enum":["MASTER","ADMIN"]},"member_status":{"type":"string","enum":["PENDING_DELETE"]},"reason":{"type":"string","maxLength":500},"scheduled_at":{"type":"string","format":"date-time"},"deletion_at":{"type":"string","format":"date-time"}}}},"components/schemas/SalonMemberDeletionScheduleResponse":{"id":"components/schemas/SalonMemberDeletionScheduleResponse","kind":"json-schema","title":"SalonMemberDeletionScheduleResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"$ref":"#/components/schemas/SalonMemberDeletionSchedule"}}}},"components/schemas/SalonMembersData":{"id":"components/schemas/SalonMembersData","kind":"json-schema","title":"SalonMembersData","data":{"type":"object","required":["salon_masters","salon_admins"],"properties":{"salon_masters":{"type":"array","items":{"$ref":"#/components/schemas/SalonMasterProfile"}},"salon_admins":{"type":"array","items":{"$ref":"#/components/schemas/SalonAdminProfile"}}}}},"components/schemas/GetSalonMembersResponse":{"id":"components/schemas/GetSalonMembersResponse","kind":"json-schema","title":"GetSalonMembersResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"$ref":"#/components/schemas/SalonMembersData"}}}},"components/schemas/SalonMastersData":{"id":"components/schemas/SalonMastersData","kind":"json-schema","title":"SalonMastersData","data":{"type":"object","required":["salon_masters"],"properties":{"salon_masters":{"type":"array","items":{"$ref":"#/components/schemas/SalonMasterProfile"}}}}},"components/schemas/GetSalonMastersResponse":{"id":"components/schemas/GetSalonMastersResponse","kind":"json-schema","title":"GetSalonMastersResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"$ref":"#/components/schemas/SalonMastersData"}}}},"components/schemas/GetSalonMasterData":{"id":"components/schemas/GetSalonMasterData","kind":"json-schema","title":"GetSalonMasterData","data":{"type":"object","required":["salon_master"],"properties":{"salon_master":{"$ref":"#/components/schemas/SalonMasterCardProfile"}}}},"components/schemas/GetSalonMasterResponse":{"id":"components/schemas/GetSalonMasterResponse","kind":"json-schema","title":"GetSalonMasterResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"$ref":"#/components/schemas/GetSalonMasterData"}}}},"components/schemas/GetSalonAdminData":{"id":"components/schemas/GetSalonAdminData","kind":"json-schema","title":"GetSalonAdminData","data":{"type":"object","required":["salon_admin"],"properties":{"salon_admin":{"$ref":"#/components/schemas/SalonAdminProfile"}}}},"components/schemas/GetSalonAdminResponse":{"id":"components/schemas/GetSalonAdminResponse","kind":"json-schema","title":"GetSalonAdminResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"$ref":"#/components/schemas/GetSalonAdminData"}}}},"components/schemas/CreateSalonAdminData":{"id":"components/schemas/CreateSalonAdminData","kind":"json-schema","title":"CreateSalonAdminData","data":{"type":"object","required":["salon_admin"],"properties":{"salon_admin":{"$ref":"#/components/schemas/SalonAdminProfile"}}}},"components/schemas/CreateSalonAdminResponse":{"id":"components/schemas/CreateSalonAdminResponse","kind":"json-schema","title":"CreateSalonAdminResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"$ref":"#/components/schemas/CreateSalonAdminData"}}}},"components/schemas/UpdateSalonAdminData":{"id":"components/schemas/UpdateSalonAdminData","kind":"json-schema","title":"UpdateSalonAdminData","data":{"type":"object","required":["changed","salon_admin"],"properties":{"changed":{"type":"boolean","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Показывает, было ли реально изменено хотя бы одно поле администратора салона."},"children":[]}]}]}]},"salon_admin":{"$ref":"#/components/schemas/SalonAdminProfile"}}}},"components/schemas/UpdateSalonAdminResponse":{"id":"components/schemas/UpdateSalonAdminResponse","kind":"json-schema","title":"UpdateSalonAdminResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"$ref":"#/components/schemas/UpdateSalonAdminData"}}}},"components/schemas/SalonPermissionGroup":{"id":"components/schemas/SalonPermissionGroup","kind":"json-schema","title":"SalonPermissionGroup","data":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Группа permission для отображения на экране прав салона."},"children":[]}]}]}],"enum":["SALON","STAFF","RECORDS","CHATS"]}},"components/schemas/SalonPermission":{"id":"components/schemas/SalonPermission","kind":"json-schema","title":"SalonPermission","data":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Permission салона."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"В response backend всегда возвращает enum-name строки."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"В request основной рекомендуемый формат тоже enum-name строки."},"children":[]}]}]}],"enum":["SALON_PAGE_VIEW","SALON_PAGE_EDIT","SALON_PROMOTION_MANAGE","SALON_SERVICES_MANAGE","STAFF_CREATE","STAFF_DELETE","STAFF_EDIT","STAFF_SCHEDULE_MANAGE","RECORD_VIEW","RECORD_CREATE","RECORD_RESCHEDULE","RECORD_CANCEL","RECORD_SUGGEST_ANOTHER_TIME","CHAT_READ","CHAT_WRITE"]}},"components/schemas/SetSalonMemberPermissionsRequest":{"id":"components/schemas/SetSalonMemberPermissionsRequest","kind":"json-schema","title":"SetSalonMemberPermissionsRequest","data":{"type":"object","required":["permissions"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Тело запроса для полной замены permission у администратора салона."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"permissions"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" не может быть "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", но может быть пустым массивом."},"children":[]}]}]}],"properties":{"permissions":{"type":"array","nullable":false,"uniqueItems":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Полный новый набор прав. Права, которых нет в массиве, будут удалены."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Дубли схлопываются."},"children":[]}]}]}],"items":{"$ref":"#/components/schemas/SalonPermission"}}}}},"components/schemas/SalonPermissionItem":{"id":"components/schemas/SalonPermissionItem","kind":"json-schema","title":"SalonPermissionItem","data":{"type":"object","required":["code","title","description","is_active"],"properties":{"code":{"$ref":"#/components/schemas/SalonPermission"},"title":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Название permission для UI."},"children":[]}]}]}],"example":"Просмотр страницы"},"description":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Описание, что разрешает permission."},"children":[]}]}]}],"example":"Администратор сможет просматривать страницу салона и данные, доступные в управлении."},"is_active":{"type":"boolean","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Активно ли это право у выбранного администратора салона."},"children":[]}]}]}]}}}},"components/schemas/SalonPermissionGroupItem":{"id":"components/schemas/SalonPermissionGroupItem","kind":"json-schema","title":"SalonPermissionGroupItem","data":{"type":"object","required":["code","title","permissions"],"properties":{"code":{"$ref":"#/components/schemas/SalonPermissionGroup"},"title":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Название группы для UI."},"children":[]}]}]}],"example":"Салон"},"permissions":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Permissions внутри группы в порядке отображения."},"children":[]}]}]}],"items":{"$ref":"#/components/schemas/SalonPermissionItem"}}}}},"components/schemas/SalonMemberPermissionsData":{"id":"components/schemas/SalonMemberPermissionsData","kind":"json-schema","title":"SalonMemberPermissionsData","data":{"type":"object","required":["user_id","active_permissions","groups"],"properties":{"user_id":{"type":"integer","format":"int64","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID пользователя-администратора салона."},"children":[]}]}]}],"example":9901002},"active_permissions":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Активные права выбранного администратора. Всегда возвращаются enum-name строками."},"children":[]}]}]}],"items":{"$ref":"#/components/schemas/SalonPermission"}},"groups":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Полный каталог permission, сгруппированный и отсортированный для UI."},"children":[]}]}]}],"items":{"$ref":"#/components/schemas/SalonPermissionGroupItem"}}}}},"components/schemas/SalonMemberPermissionsResponse":{"id":"components/schemas/SalonMemberPermissionsResponse","kind":"json-schema","title":"SalonMemberPermissionsResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"$ref":"#/components/schemas/SalonMemberPermissionsData"}}}},"components/schemas/SalonInviteRoleInSalon":{"id":"components/schemas/SalonInviteRoleInSalon","kind":"json-schema","title":"SalonInviteRoleInSalon","data":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Роль, для которой создается invite-ссылка в салон."},"children":[]}]}]}],"enum":["MASTER","ADMIN"]}},"components/schemas/GetSalonInviteLinkData":{"id":"components/schemas/GetSalonInviteLinkData","kind":"json-schema","title":"GetSalonInviteLinkData","data":{"type":"object","required":["invite_link"],"properties":{"invite_link":{"type":"string","format":"uri","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Полная ссылка приглашения для регистрации мастера или администратора салона."},"children":[]}]}]}],"example":"https://felmee.com/api/auth/phone/login?invite_code=KRHoJt65qCvqi-y9B5P2IidpE2tw2vxY"}}}},"components/schemas/GetSalonInviteLinkResponse":{"id":"components/schemas/GetSalonInviteLinkResponse","kind":"json-schema","title":"GetSalonInviteLinkResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"$ref":"#/components/schemas/GetSalonInviteLinkData"}}}},"components/schemas/GetCurrentMasterData":{"id":"components/schemas/GetCurrentMasterData","kind":"json-schema","title":"GetCurrentMasterData","data":{"type":"object","required":["master"],"properties":{"master":{"$ref":"#/components/schemas/ProfileMaster"}}}},"components/schemas/GetCurrentMasterResponse":{"id":"components/schemas/GetCurrentMasterResponse","kind":"json-schema","title":"GetCurrentMasterResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"$ref":"#/components/schemas/GetCurrentMasterData"}}}},"components/schemas/MasterProfileCategory":{"id":"components/schemas/MasterProfileCategory","kind":"json-schema","title":"MasterProfileCategory","data":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"name":{"type":"string","nullable":true}}}},"components/schemas/MasterProfileLocation":{"id":"components/schemas/MasterProfileLocation","kind":"json-schema","title":"MasterProfileLocation","data":{"type":"object","properties":{"service_locations":{"type":"array","nullable":true,"items":{"$ref":"#/components/schemas/ServiceLocationResponse"}},"address":{"type":"string","nullable":true},"geolocation":{"allOf":[{"$ref":"#/components/schemas/ProfileGeolocation"}],"nullable":true}}}},"components/schemas/MasterProfileResponse":{"id":"components/schemas/MasterProfileResponse","kind":"json-schema","title":"MasterProfileResponse","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Публичный профиль мастера."},"children":[]}]}]}],"properties":{"id":{"type":"integer","format":"int64","nullable":true},"example_images":{"type":"array","nullable":true,"items":{"type":"integer","format":"int64"}},"avatar":{"type":"integer","format":"int64","nullable":true},"first_name":{"type":"string","nullable":true},"last_name":{"type":"string","nullable":true},"display_name":{"type":"string","nullable":true},"categories":{"type":"array","nullable":true,"items":{"$ref":"#/components/schemas/MasterProfileCategory"}},"rating":{"type":"number","format":"double","nullable":true,"example":4.75},"reviews_count":{"type":"integer","format":"int64","nullable":true},"experience_years":{"type":"integer","format":"int64","nullable":true},"description":{"type":"string","nullable":true},"advantages":{"type":"array","nullable":true,"items":{"type":"string"}},"interior_description":{"type":"string","nullable":true},"interior_images":{"type":"array","nullable":true,"items":{"type":"integer","format":"int64"}},"location":{"allOf":[{"$ref":"#/components/schemas/MasterProfileLocation"}],"nullable":true}}}},"components/schemas/GetMasterProfileData":{"id":"components/schemas/GetMasterProfileData","kind":"json-schema","title":"GetMasterProfileData","data":{"type":"object","required":["master"],"properties":{"master":{"$ref":"#/components/schemas/MasterProfileResponse"}}}},"components/schemas/GetMasterProfileResponse":{"id":"components/schemas/GetMasterProfileResponse","kind":"json-schema","title":"GetMasterProfileResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"$ref":"#/components/schemas/GetMasterProfileData"}}}},"components/schemas/UpdateCurrentMasterData":{"id":"components/schemas/UpdateCurrentMasterData","kind":"json-schema","title":"UpdateCurrentMasterData","data":{"type":"object","required":["changed","master"],"properties":{"changed":{"type":"boolean","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Показывает, было ли реально изменено хотя бы одно поле профиля мастера."},"children":[]}]}]}]},"master":{"$ref":"#/components/schemas/ProfileMaster"}}}},"components/schemas/UpdateCurrentMasterResponse":{"id":"components/schemas/UpdateCurrentMasterResponse","kind":"json-schema","title":"UpdateCurrentMasterResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"$ref":"#/components/schemas/UpdateCurrentMasterData"}}}},"components/schemas/AddressSuggestionsData":{"id":"components/schemas/AddressSuggestionsData","kind":"json-schema","title":"AddressSuggestionsData","data":{"type":"object","required":["items"],"properties":{"items":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Список адресов с координатами."},"children":[]}]}]}],"items":{"$ref":"#/components/schemas/AddressSuggestion"}}}}},"components/schemas/AddressSuggestion":{"id":"components/schemas/AddressSuggestion","kind":"json-schema","title":"AddressSuggestion","data":{"type":"object","additionalProperties":false,"required":["address","geolocation"],"properties":{"address":{"type":"string","example":"г Москва, ул Хабаровская"},"geolocation":{"$ref":"#/components/schemas/ProfileGeolocation"}}}},"components/schemas/AddressSuggestionsApiResponse":{"id":"components/schemas/AddressSuggestionsApiResponse","kind":"json-schema","title":"AddressSuggestionsApiResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"$ref":"#/components/schemas/AddressSuggestionsData"}}}},"components/schemas/AddressSearchSuggestion":{"id":"components/schemas/AddressSearchSuggestion","kind":"json-schema","title":"AddressSearchSuggestion","data":{"type":"object","additionalProperties":false,"required":["address","lat","lon"],"properties":{"address":{"type":"string","example":"г Москва, ул Тверская, д 10"},"lat":{"type":"number","format":"double","minimum":-90,"maximum":90,"example":55.7579},"lon":{"type":"number","format":"double","minimum":-180,"maximum":180,"example":37.6144}}}},"components/schemas/AddressSearchSuggestionsData":{"id":"components/schemas/AddressSearchSuggestionsData","kind":"json-schema","title":"AddressSearchSuggestionsData","data":{"type":"object","required":["items"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/AddressSearchSuggestion"}}}}},"components/schemas/AddressSearchSuggestionsApiResponse":{"id":"components/schemas/AddressSearchSuggestionsApiResponse","kind":"json-schema","title":"AddressSearchSuggestionsApiResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"$ref":"#/components/schemas/AddressSearchSuggestionsData"}}}},"components/schemas/CitySuggestionsData":{"id":"components/schemas/CitySuggestionsData","kind":"json-schema","title":"CitySuggestionsData","data":{"type":"object","required":["items"],"properties":{"items":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Список городов и населённых пунктов с областью и районом."},"children":[]}]}]}],"items":{"$ref":"#/components/schemas/CitySuggestion"}}}}},"components/schemas/CitySuggestion":{"id":"components/schemas/CitySuggestion","kind":"json-schema","title":"CitySuggestion","data":{"type":"object","additionalProperties":false,"required":["name","region","district","geolocation"],"properties":{"name":{"type":"string","example":"село Александровка"},"region":{"type":"string","nullable":true,"example":"Липецкая область"},"district":{"type":"string","nullable":true,"example":"Краснинский район"},"geolocation":{"allOf":[{"$ref":"#/components/schemas/ProfileGeolocation"}],"nullable":true}}}},"components/schemas/CitySuggestionsApiResponse":{"id":"components/schemas/CitySuggestionsApiResponse","kind":"json-schema","title":"CitySuggestionsApiResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"$ref":"#/components/schemas/CitySuggestionsData"}}}},"components/schemas/AdvantageSuggestionsData":{"id":"components/schemas/AdvantageSuggestionsData","kind":"json-schema","title":"AdvantageSuggestionsData","data":{"type":"object","required":["items"],"properties":{"items":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Список подсказок преимуществ мастера."},"children":[]}]}]}],"items":{"type":"string","example":"Безопасность"}}}}},"components/schemas/AdvantageSuggestionsApiResponse":{"id":"components/schemas/AdvantageSuggestionsApiResponse","kind":"json-schema","title":"AdvantageSuggestionsApiResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"$ref":"#/components/schemas/AdvantageSuggestionsData"}}}},"components/schemas/ReferenceHint":{"id":"components/schemas/ReferenceHint","kind":"json-schema","title":"ReferenceHint","data":{"type":"object","required":["id","code","text"],"properties":{"id":{"type":"integer","format":"int64","example":1},"code":{"type":"string","maxLength":128,"example":"cancellation_conditions"},"text":{"type":"string","example":"Условия отмены:\n12 ч: отмена/перенос бесплатно\n\n12 ч: удерживается 50%\nпри отмене\n\nНеявка: оплата не возвращается"}}}},"components/schemas/ReferenceHintApiResponse":{"id":"components/schemas/ReferenceHintApiResponse","kind":"json-schema","title":"ReferenceHintApiResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"$ref":"#/components/schemas/ReferenceHint"}}}},"components/schemas/ReferenceStringListApiResponse":{"id":"components/schemas/ReferenceStringListApiResponse","kind":"json-schema","title":"ReferenceStringListApiResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"type":"array","items":{"type":"string"},"example":["Передача личных контактов","Option","Option"]}}}},"components/schemas/CalendarTimeInterval":{"id":"components/schemas/CalendarTimeInterval","kind":"json-schema","title":"CalendarTimeInterval","data":{"type":"object","required":["start_time","end_time"],"properties":{"start_time":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Время начала интервала в формате "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"HH:mm"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"pattern":"^([01]\\d|2[0-3]):[0-5]\\d$","example":"09:00"},"end_time":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Время конца интервала в формате "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"HH:mm"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Минимальная длительность интервала "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"end_time - start_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" должна быть не меньше 30 минут."},"children":[]}]}]}],"pattern":"^([01]\\d|2[0-3]):[0-5]\\d$","example":"18:00"}}}},"components/schemas/CalendarBody":{"id":"components/schemas/CalendarBody","kind":"json-schema","title":"CalendarBody","data":{"type":"object","required":["date"],"properties":{"date":{"type":"string","format":"date","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Дата, на которую устанавливается или читается временной интервал."},"children":[]}]}]}],"example":"2026-04-01"},"time_interval":{"nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Временной интервал на указанную дату. Может быть "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если на дату нет рабочего времени."},"children":[]}]}]}],"allOf":[{"$ref":"#/components/schemas/CalendarTimeInterval"}]}}}},"components/schemas/WorkScheduleSetupBody":{"id":"components/schemas/WorkScheduleSetupBody","kind":"json-schema","title":"WorkScheduleSetupBody","data":{"type":"object","required":["year","month","start_day","end_day","work_time_interval"],"properties":{"year":{"type":"integer","format":"int32","minimum":2026,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Год, на который применяются настройки календаря. Не должен быть в прошлом и должен быть меньше текущего года + 5."},"children":[]}]}]}],"example":2026},"month":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Месяц, на который применяются настройки календаря. Значение enum "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"java.time.Month"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"enum":["JANUARY","FEBRUARY","MARCH","APRIL","MAY","JUNE","JULY","AUGUST","SEPTEMBER","OCTOBER","NOVEMBER","DECEMBER"],"example":"MAY"},"start_day":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Первый день месяца, с которого применяются настройки. Должен быть меньше "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"end_day"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; дата начала не может быть в прошлом."},"children":[]}]}]}],"example":1},"end_day":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Последний день месяца, до которого применяются настройки. Должен быть больше "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"start_day"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и не больше количества дней в выбранном месяце."},"children":[]}]}]}],"example":30},"work_time_interval":{"$ref":"#/components/schemas/CalendarTimeInterval"},"break_intervals":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Список интервалов перерывов внутри рабочего времени."},"children":[]}]}]}],"items":{"$ref":"#/components/schemas/BreakTimeInterval"}},"days_off":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Уникальные номера дней месяца внутри диапазона "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"start_day..end_day"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":","},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"которые должны стать выходными. Для них шаблон не создаёт рабочее время"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"или перерывы и удаляет ранее установленные интервалы. Если хотя бы на один"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"из этих дней существует запись клиента, весь запрос завершается ответом"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"409"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" без изменений."},"children":[]}]}]}],"uniqueItems":true,"example":[6,7,13,14],"items":{"type":"integer","format":"int32","minimum":1,"maximum":31}}}}},"components/schemas/WorkScheduleResponse":{"id":"components/schemas/WorkScheduleResponse","kind":"json-schema","title":"WorkScheduleResponse","data":{"type":"object","required":["id","year","month","start_day","end_day","work_time_intervals","break_intervals","days_off","breaks_provided","created_at"],"properties":{"id":{"type":"integer","format":"int64","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор рабочего графика."},"children":[]}]}]}],"example":10},"year":{"type":"integer","format":"int32","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Год рабочего графика."},"children":[]}]}]}],"example":2026},"month":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Месяц рабочего графика в формате "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"java.time.Month"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"enum":["JANUARY","FEBRUARY","MARCH","APRIL","MAY","JUNE","JULY","AUGUST","SEPTEMBER","OCTOBER","NOVEMBER","DECEMBER"],"example":"JUNE"},"start_day":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Первый день месяца в графике."},"children":[]}]}]}],"example":1},"end_day":{"type":"integer","format":"int32","minimum":1,"maximum":31,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Последний день месяца в графике."},"children":[]}]}]}],"example":15},"work_time_intervals":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Рабочие интервалы времени."},"children":[]}]}]}],"items":{"$ref":"#/components/schemas/CalendarTimeInterval"}},"break_intervals":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Интервалы перерывов."},"children":[]}]}]}],"items":{"$ref":"#/components/schemas/BreakTimeInterval"}},"days_off":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Номера выходных дней, сохранённые в этой ревизии шаблона."},"children":[]}]}]}],"uniqueItems":true,"example":[6,7,13,14],"items":{"type":"integer","format":"int32","minimum":1,"maximum":31}},"breaks_provided":{"type":"boolean","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — ревизия заменяет перерывы (пустой массив очищает их); "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"false"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — сохраняет прежние перерывы; "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" возможен только у исторических ревизий."},"children":[]}]}]}]},"created_at":{"type":"string","format":"date-time","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Момент создания ревизии графика."},"children":[]}]}]}],"example":"2026-06-01T09:30:00Z"}}}},"components/schemas/WorkScheduleData":{"id":"components/schemas/WorkScheduleData","kind":"json-schema","title":"WorkScheduleData","data":{"type":"object","required":["work_schedule"],"properties":{"work_schedule":{"$ref":"#/components/schemas/WorkScheduleResponse"}}}},"components/schemas/WorkSchedulesData":{"id":"components/schemas/WorkSchedulesData","kind":"json-schema","title":"WorkSchedulesData","data":{"type":"object","required":["work_schedules"],"properties":{"work_schedules":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Журнал ревизий по возрастанию "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_at"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". При пересечении диапазонов более поздняя ревизия имеет приоритет."},"children":[]}]}]}],"items":{"$ref":"#/components/schemas/WorkScheduleResponse"}}}}},"components/schemas/GetWorkScheduleResponse":{"id":"components/schemas/GetWorkScheduleResponse","kind":"json-schema","title":"GetWorkScheduleResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"},{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/WorkScheduleData"}}}]}},"components/schemas/GetWorkSchedulesResponse":{"id":"components/schemas/GetWorkSchedulesResponse","kind":"json-schema","title":"GetWorkSchedulesResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"},{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/WorkSchedulesData"}}}]}},"components/schemas/SetWorkScheduleResponse":{"id":"components/schemas/SetWorkScheduleResponse","kind":"json-schema","title":"SetWorkScheduleResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"},{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/WorkSchedulesData"}}}]}},"components/schemas/GetCalendarData":{"id":"components/schemas/GetCalendarData","kind":"json-schema","title":"GetCalendarData","data":{"type":"object","required":["calendar"],"properties":{"calendar":{"$ref":"#/components/schemas/CalendarBody"}}}},"components/schemas/GetCalendarResponse":{"id":"components/schemas/GetCalendarResponse","kind":"json-schema","title":"GetCalendarResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"},{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/GetCalendarData"}}}]}},"components/schemas/MasterWorkTimeResponse":{"id":"components/schemas/MasterWorkTimeResponse","kind":"json-schema","title":"MasterWorkTimeResponse","data":{"type":"object","required":["is_working"],"properties":{"is_working":{"type":"boolean","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Показывает, есть ли рабочий интервал на указанную дату."},"children":[]}]}]}]},"start_time":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Время начала рабочего интервала в формате "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"HH:mm"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если мастер не работает."},"children":[]}]}]}],"pattern":"^([01]\\d|2[0-3]):[0-5]\\d$","example":"10:00"},"end_time":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Время конца рабочего интервала в формате "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"HH:mm"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если мастер не работает."},"children":[]}]}]}],"pattern":"^([01]\\d|2[0-3]):[0-5]\\d$","example":"20:00"}}}},"components/schemas/GetMasterWorkTimeData":{"id":"components/schemas/GetMasterWorkTimeData","kind":"json-schema","title":"GetMasterWorkTimeData","data":{"type":"object","required":["work_time"],"properties":{"work_time":{"$ref":"#/components/schemas/MasterWorkTimeResponse"}}}},"components/schemas/GetMasterWorkTimeResponse":{"id":"components/schemas/GetMasterWorkTimeResponse","kind":"json-schema","title":"GetMasterWorkTimeResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"},{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/GetMasterWorkTimeData"}}}]}},"components/schemas/SetCalendarData":{"id":"components/schemas/SetCalendarData","kind":"json-schema","title":"SetCalendarData","data":{"type":"object","required":["calendar"],"properties":{"calendar":{"$ref":"#/components/schemas/CalendarBody"}}}},"components/schemas/SetCalendarResponse":{"id":"components/schemas/SetCalendarResponse","kind":"json-schema","title":"SetCalendarResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"},{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/SetCalendarData"}}}]}},"components/schemas/MinBookingLeadTimeBody":{"id":"components/schemas/MinBookingLeadTimeBody","kind":"json-schema","title":"MinBookingLeadTimeBody","data":{"type":"object","required":["min_booking_lead_time_minutes"],"properties":{"min_booking_lead_time_minutes":{"type":"integer","format":"int32","minimum":0,"maximum":360,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Минимальное время до записи в минутах."},"children":[]}]}]}]}}}},"components/schemas/MinBookingLeadTimeResponse":{"id":"components/schemas/MinBookingLeadTimeResponse","kind":"json-schema","title":"MinBookingLeadTimeResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"},{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/MinBookingLeadTimeBody"}}}]}},"components/schemas/BreakAfterReccordBody":{"id":"components/schemas/BreakAfterReccordBody","kind":"json-schema","title":"BreakAfterReccordBody","data":{"type":"object","required":["break_after_service_min"],"properties":{"break_after_service_min":{"type":"integer","format":"int32","minimum":0,"maximum":300,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Перерыв после услуги в минутах."},"children":[]}]}]}]}}}},"components/schemas/BreakAfterReccordResponse":{"id":"components/schemas/BreakAfterReccordResponse","kind":"json-schema","title":"BreakAfterReccordResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"},{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/BreakAfterReccordBody"}}}]}},"components/schemas/BreakTimeInterval":{"id":"components/schemas/BreakTimeInterval","kind":"json-schema","title":"BreakTimeInterval","data":{"type":"object","required":["start_time","end_time"],"properties":{"start_time":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Время начала перерыва в формате "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"HH:mm"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"pattern":"^([01]\\d|2[0-3]):[0-5]\\d$","example":"10:00"},"end_time":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Время конца перерыва в формате "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"HH:mm"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Минимальная длительность одного перерыва "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"end_time - start_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" должна быть не меньше 15 минут."},"children":[]}]}]}],"pattern":"^([01]\\d|2[0-3]):[0-5]\\d$","example":"11:00"}}}},"components/schemas/BreaksBody":{"id":"components/schemas/BreaksBody","kind":"json-schema","title":"BreaksBody","data":{"type":"object","required":["date","intervals"],"properties":{"date":{"type":"string","format":"date","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Дата, на которую устанавливаются или читаются перерывы."},"children":[]}]}]}],"example":"2026-04-01"},"intervals":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Список перерывов на дату."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"При сохранении сортируется по времени начала."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Может быть пустым, чтобы очистить перерывы на дату."},"children":[]}]}]}],"items":{"$ref":"#/components/schemas/BreakTimeInterval"}}}}},"components/schemas/GetBreaksData":{"id":"components/schemas/GetBreaksData","kind":"json-schema","title":"GetBreaksData","data":{"type":"object","required":["breaks"],"properties":{"breaks":{"$ref":"#/components/schemas/BreaksBody"}}}},"components/schemas/GetBreaksResponse":{"id":"components/schemas/GetBreaksResponse","kind":"json-schema","title":"GetBreaksResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"},{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/GetBreaksData"}}}]}},"components/schemas/SetBreaksData":{"id":"components/schemas/SetBreaksData","kind":"json-schema","title":"SetBreaksData","data":{"type":"object","required":["breaks"],"properties":{"breaks":{"$ref":"#/components/schemas/BreaksBody"}}}},"components/schemas/SetBreaksResponse":{"id":"components/schemas/SetBreaksResponse","kind":"json-schema","title":"SetBreaksResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"},{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/SetBreaksData"}}}]}},"components/schemas/NoteResponse":{"id":"components/schemas/NoteResponse","kind":"json-schema","title":"NoteResponse","data":{"type":"object","required":["id","text"],"properties":{"id":{"type":"integer","format":"int64","minimum":1,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Уникальный ID заметки."},"children":[]}]}]}],"example":101},"text":{"type":"string","minLength":1,"maxLength":500,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Текст заметки. Не должен быть пустым или состоять только из пробелов."},"children":[]}]}]}],"example":"Позвонить поставщику"}}}},"components/schemas/CreateNoteBody":{"id":"components/schemas/CreateNoteBody","kind":"json-schema","title":"CreateNoteBody","data":{"type":"object","required":["text"],"properties":{"text":{"type":"string","minLength":1,"maxLength":500,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Текст новой заметки. Не должен быть пустым или состоять только из пробелов."},"children":[]}]}]}],"example":"Позвонить поставщику"}}}},"components/schemas/UpdateNoteBody":{"id":"components/schemas/UpdateNoteBody","kind":"json-schema","title":"UpdateNoteBody","data":{"type":"object","required":["id","text"],"properties":{"id":{"type":"integer","format":"int64","minimum":1,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID изменяемой заметки."},"children":[]}]}]}],"example":101},"text":{"type":"string","minLength":1,"maxLength":500,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Новый текст заметки. Не должен быть пустым или состоять только из пробелов."},"children":[]}]}]}],"example":"Позвонить поставщику повторно"}}}},"components/schemas/NotesResponse":{"id":"components/schemas/NotesResponse","kind":"json-schema","title":"NotesResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"},{"type":"object","properties":{"data":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Полный список заметок указанной даты в порядке возрастания "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"items":{"$ref":"#/components/schemas/NoteResponse"}}}}]}},"components/schemas/CalendarActionTimeInterval":{"id":"components/schemas/CalendarActionTimeInterval","kind":"json-schema","title":"CalendarActionTimeInterval","data":{"type":"object","required":["start_time","end_time"],"properties":{"start_time":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Время начала акционного интервала в формате "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"HH:mm"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"pattern":"^([01]\\d|2[0-3]):[0-5]\\d$","example":"10:00"},"end_time":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Время конца акционного интервала в формате "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"HH:mm"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Минимальная длительность одного акционного интервала "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"end_time - start_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" должна быть не меньше 15 минут."},"children":[]}]}]}],"pattern":"^([01]\\d|2[0-3]):[0-5]\\d$","example":"10:15"}}}},"components/schemas/CalendarAction":{"id":"components/schemas/CalendarAction","kind":"json-schema","title":"CalendarAction","data":{"type":"object","required":["id","interval","percent_action","service_ids"],"properties":{"id":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID акции."},"children":[]}]}]}],"example":"5b707e70-b21b-4d1f-bc65-e3f65f80520a"},"interval":{"$ref":"#/components/schemas/CalendarActionTimeInterval"},"master_user_id":{"type":"integer","format":"int64","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"User id мастера салона. Возвращается только для акций мастера салона."},"children":[]}]}]}],"example":92001003},"percent_action":{"type":"integer","format":"int32","minimum":1,"maximum":99,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Размер скидки в процентах."},"children":[]}]}]}],"example":25},"service_ids":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID услуг, на которые действует акция."},"children":[]}]}]}],"minItems":1,"items":{"type":"integer","format":"int64"},"example":[55,56]}}}},"components/schemas/CreateCalendarActionBody":{"id":"components/schemas/CreateCalendarActionBody","kind":"json-schema","title":"CreateCalendarActionBody","data":{"type":"object","required":["date","interval","percent_action","service_ids"],"properties":{"date":{"type":"string","format":"date","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Дата, на которую создается акция."},"children":[]}]}]}],"example":"2026-04-09"},"interval":{"$ref":"#/components/schemas/CalendarActionTimeInterval"},"percent_action":{"type":"integer","format":"int32","minimum":1,"maximum":99,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Размер скидки в процентах."},"children":[]}]}]}],"example":25},"service_ids":{"type":"array","minItems":1,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID услуг, на которые действует акция."},"children":[]}]}]}],"items":{"type":"integer","format":"int64"},"example":[55,56]}}}},"components/schemas/CreateCalendarActionData":{"id":"components/schemas/CreateCalendarActionData","kind":"json-schema","title":"CreateCalendarActionData","data":{"type":"object","required":["action"],"properties":{"action":{"$ref":"#/components/schemas/CalendarAction"}}}},"components/schemas/SetCalendarActionBody":{"id":"components/schemas/SetCalendarActionBody","kind":"json-schema","title":"SetCalendarActionBody","data":{"type":"object","required":["date","actions"],"properties":{"date":{"type":"string","format":"date","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Дата, на которую устанавливаются или читаются акции."},"children":[]}]}]}],"example":"2026-04-09"},"actions":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Список акционных интервалов на дату."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"При сохранении список полностью перезаписывает уже существующие акции на дату."},"children":[]}]}]}],"items":{"$ref":"#/components/schemas/CalendarAction"}}}}},"components/schemas/CalendarActionsData":{"id":"components/schemas/CalendarActionsData","kind":"json-schema","title":"CalendarActionsData","data":{"type":"object","required":["actions"],"properties":{"actions":{"type":"array","items":{"$ref":"#/components/schemas/CalendarAction"}}}}},"components/schemas/AvailableActionService":{"id":"components/schemas/AvailableActionService","kind":"json-schema","title":"AvailableActionService","data":{"type":"object","required":["id","name","base_price","final_price","is_dynamic_price"],"properties":{"id":{"type":"integer","format":"int64","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID услуги."},"children":[]}]}]}],"example":55},"image":{"type":"integer","format":"int64","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Первое изображение услуги из массива "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"images"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"example":10},"name":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Название услуги."},"children":[]}]}]}],"example":"Гигиенический маникюр"},"base_price":{"type":"integer","format":"int32","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Базовая цена услуги до скидки."},"children":[]}]}]}],"example":1500},"final_price":{"type":"integer","format":"int32","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Актуальная цена услуги с учетом скидки, если она есть."},"children":[]}]}]}],"example":1200},"discount_percent":{"type":"integer","format":"int32","nullable":true,"minimum":1,"maximum":99,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Скидка услуги. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если скидки на самой услуге нет."},"children":[]}]}]}],"example":20},"is_dynamic_price":{"type":"boolean","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Значение "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если у услуги есть хотя бы один интервал динамической цены ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"price_intervals"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). Не зависит от того, попадает ли выбранный акционный интервал в интервал динамической цены."},"children":[]}]}]}],"example":false}}}},"components/schemas/AvailableActionServicesData":{"id":"components/schemas/AvailableActionServicesData","kind":"json-schema","title":"AvailableActionServicesData","data":{"type":"object","required":["services"],"properties":{"services":{"type":"array","items":{"$ref":"#/components/schemas/AvailableActionService"}}}}},"components/schemas/AvailableActionServicesResponse":{"id":"components/schemas/AvailableActionServicesResponse","kind":"json-schema","title":"AvailableActionServicesResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"},{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/AvailableActionServicesData"}}}]}},"components/schemas/GetCalendarActionsResponse":{"id":"components/schemas/GetCalendarActionsResponse","kind":"json-schema","title":"GetCalendarActionsResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"},{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/CalendarActionsData"}}}]}},"components/schemas/CreateCalendarActionResponse":{"id":"components/schemas/CreateCalendarActionResponse","kind":"json-schema","title":"CreateCalendarActionResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"},{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/CreateCalendarActionData"}}}]}},"components/schemas/SetCalendarActionsResponse":{"id":"components/schemas/SetCalendarActionsResponse","kind":"json-schema","title":"SetCalendarActionsResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"},{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/CalendarActionsData"}}}]}},"components/schemas/ReviewTag":{"id":"components/schemas/ReviewTag","kind":"json-schema","title":"ReviewTag","data":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Тег отзыва."},"children":[]}]}]}],"enum":["CLEANLINESS","FRIENDLINESS","PROFESSIONALISM","ATMOSPHERE","PUNCTUALITY","COMMUNICATION"]}},"components/schemas/CreateReviewRequest":{"id":"components/schemas/CreateReviewRequest","kind":"json-schema","title":"CreateReviewRequest","data":{"type":"object","required":["service_record_id","rating"],"properties":{"service_record_id":{"type":"integer","format":"int64","minimum":1,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор завершённой записи, по которой оставляется отзыв."},"children":[]}]}]}],"example":150},"rating":{"type":"integer","minimum":1,"maximum":5,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Оценка от 1 до 5."},"children":[]}]}]}],"example":5},"liked_text":{"type":"string","minLength":10,"maxLength":1000,"nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Что понравилось. Если передано, длина должна быть от 10 до 1000 символов."},"children":[]}]}]}],"example":"Очень аккуратная работа и чистое рабочее место"},"disliked_text":{"type":"string","minLength":10,"maxLength":1000,"nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Что не понравилось. Если передано, длина должна быть от 10 до 1000 символов."},"children":[]}]}]}],"example":"Немного долгое ожидание перед началом"},"comment":{"type":"string","minLength":10,"maxLength":3000,"nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Общий комментарий к отзыву. Если передан, длина должна быть от 10 до 3000 символов."},"children":[]}]}]}],"example":"В целом всё понравилось, результат отличный."},"tags":{"type":"array","nullable":true,"maxItems":6,"uniqueItems":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"До 6 уникальных тегов отзыва."},"children":[]}]}]}],"items":{"$ref":"#/components/schemas/ReviewTag"}},"media_ids":{"type":"array","nullable":true,"maxItems":10,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификаторы файлов, прикрепляемых к отзыву."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Каждый идентификатор должен быть положительным, файл должен быть доступен пользователю"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"и иметь purpose "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CARD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"items":{"type":"integer","format":"int64","minimum":1}}}}},"components/schemas/CreatePostRequest":{"id":"components/schemas/CreatePostRequest","kind":"json-schema","title":"CreatePostRequest","data":{"type":"object","required":["text","title","images","tag"],"properties":{"text":{"type":"string","minLength":1,"maxLength":2000,"pattern":".*\\S.*","example":"Новый образ"},"title":{"type":"string","minLength":1,"maxLength":150,"pattern":".*\\S.*","example":"Маникюр"},"images":{"type":"array","minItems":1,"maxItems":10,"uniqueItems":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"IDs изображений поста. Порядок элементов сохраняется в ответах. Все файлы должны иметь purpose "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"BLOG"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; ширина и высота исходного изображения должны быть не меньше "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"900"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", соотношение сторон — не больше "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"3:1"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"items":{"type":"integer","format":"int64","minimum":1},"example":[101,102]},"tag":{"type":"string","minLength":1,"maxLength":30,"pattern":".*\\S.*","example":"Маникюр"}}}},"components/schemas/UpdatePostRequest":{"id":"components/schemas/UpdatePostRequest","kind":"json-schema","title":"UpdatePostRequest","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Тело запроса на обновление поста."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Валидным считается запрос, в котором корректно заполнено хотя бы одно поле."},"children":[]}]}]}],"properties":{"text":{"type":"string","nullable":true,"minLength":1,"maxLength":2000,"pattern":".*\\S.*"},"title":{"type":"string","nullable":true,"minLength":1,"maxLength":150,"pattern":".*\\S.*"},"images":{"type":"array","nullable":true,"minItems":1,"maxItems":10,"uniqueItems":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"IDs изображений поста. Порядок элементов сохраняется в ответах. Все файлы должны иметь purpose "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"BLOG"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; ширина и высота исходного изображения должны быть не меньше "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"900"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", соотношение сторон — не больше "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"3:1"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"items":{"type":"integer","format":"int64","minimum":1}},"tag":{"type":"string","nullable":true,"minLength":1,"maxLength":30,"pattern":".*\\S.*"}}}},"components/schemas/PostResponse":{"id":"components/schemas/PostResponse","kind":"json-schema","title":"PostResponse","data":{"type":"object","required":["id","text","title","master_id","date","images","tag"],"properties":{"id":{"type":"integer","format":"int64","example":10},"text":{"type":"string","maxLength":2000,"example":"Новый образ"},"title":{"type":"string","maxLength":150,"example":"Маникюр"},"master_id":{"type":"integer","format":"int64","example":5},"date":{"type":"string","format":"date","example":"2026-05-05"},"images":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"IDs изображений поста в сохраненном порядке."},"children":[]}]}]}],"items":{"type":"integer","format":"int64","minimum":1},"example":[101,102]},"tag":{"type":"string","maxLength":30,"example":"Маникюр"}}}},"components/schemas/PostSingleResponse":{"id":"components/schemas/PostSingleResponse","kind":"json-schema","title":"PostSingleResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"$ref":"#/components/schemas/PostResponse"}}}},"components/schemas/PostListResponse":{"id":"components/schemas/PostListResponse","kind":"json-schema","title":"PostListResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/PostResponse"}}}}},"components/schemas/PostUpdateData":{"id":"components/schemas/PostUpdateData","kind":"json-schema","title":"PostUpdateData","data":{"type":"object","required":["changed","post"],"properties":{"changed":{"type":"boolean","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Показывает, был ли реально изменён хотя бы один параметр поста."},"children":[]}]}]}]},"post":{"$ref":"#/components/schemas/PostResponse"}}}},"components/schemas/PostUpdateResponse":{"id":"components/schemas/PostUpdateResponse","kind":"json-schema","title":"PostUpdateResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"$ref":"#/components/schemas/PostUpdateData"}}}},"components/schemas/TypeFavorite":{"id":"components/schemas/TypeFavorite","kind":"json-schema","title":"TypeFavorite","data":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Тип сущности, которую можно добавить в избранное."},"children":[]}]}]}],"enum":["MASTER","SALON","SERVICE","CHAT","POST"]}},"components/schemas/AddToFavoriteRequest":{"id":"components/schemas/AddToFavoriteRequest","kind":"json-schema","title":"AddToFavoriteRequest","data":{"type":"object","required":["type_favorite","source_id"],"properties":{"type_favorite":{"$ref":"#/components/schemas/TypeFavorite"},"source_id":{"type":"integer","format":"int64","minimum":1,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор сущности выбранного типа."},"children":[]}]}]}],"example":30}}}},"components/schemas/Favorite":{"id":"components/schemas/Favorite","kind":"json-schema","title":"Favorite","data":{"type":"object","required":["id","type_favorite","id_source","user_id"],"properties":{"id":{"type":"integer","format":"int64","minimum":1,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор записи избранного."},"children":[]}]}]}],"example":1},"type_favorite":{"$ref":"#/components/schemas/TypeFavorite"},"id_source":{"type":"integer","format":"int64","minimum":1,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор избранной сущности."},"children":[]}]}]}],"example":30},"user_id":{"type":"integer","format":"int64","minimum":1,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор пользователя, которому принадлежит запись избранного."},"children":[]}]}]}],"example":10}}}},"components/schemas/FavoriteSingleResponse":{"id":"components/schemas/FavoriteSingleResponse","kind":"json-schema","title":"FavoriteSingleResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"$ref":"#/components/schemas/Favorite"}}}},"components/schemas/FavoriteReviewPreview":{"id":"components/schemas/FavoriteReviewPreview","kind":"json-schema","title":"FavoriteReviewPreview","data":{"type":"object","required":["count_review","average_rating"],"properties":{"count_review":{"type":"integer","format":"int64","minimum":0,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Количество отзывов."},"children":[]}]}]}],"example":12},"average_rating":{"type":"number","format":"double","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Средний рейтинг."},"children":[]}]}]}],"example":4.75}}}},"components/schemas/FavoriteMasterPreview":{"id":"components/schemas/FavoriteMasterPreview","kind":"json-schema","title":"FavoriteMasterPreview","data":{"type":"object","required":["id","name","skills","experience","review","img"],"properties":{"id":{"type":"integer","format":"int64","minimum":1,"example":101},"name":{"type":"string","example":"Анна Петрова"},"skills":{"type":"array","items":{"type":"string"},"example":["Маникюр","Педикюр"]},"experience":{"type":"integer","format":"int64","minimum":0,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Опыт мастера."},"children":[]}]}]}],"example":7},"review":{"allOf":[{"$ref":"#/components/schemas/FavoriteReviewPreview"}],"nullable":true},"img":{"type":"integer","format":"int64","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID изображения."},"children":[]}]}]}],"example":501}}}},"components/schemas/FavoriteSalonPreview":{"id":"components/schemas/FavoriteSalonPreview","kind":"json-schema","title":"FavoriteSalonPreview","data":{"type":"object","required":["id","name","skills","experience","review","img"],"properties":{"id":{"type":"integer","format":"int64","minimum":1,"example":201},"name":{"type":"string","example":"Beauty Studio"},"skills":{"type":"array","items":{"type":"string"},"example":["Стрижки","Окрашивание"]},"experience":{"type":"integer","format":"int64","minimum":0,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Опыт салона."},"children":[]}]}]}],"example":5},"review":{"allOf":[{"$ref":"#/components/schemas/FavoriteReviewPreview"}],"nullable":true},"img":{"type":"integer","format":"int64","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID изображения."},"children":[]}]}]}],"example":601}}}},"components/schemas/FavoriteServicePreview":{"id":"components/schemas/FavoriteServicePreview","kind":"json-schema","title":"FavoriteServicePreview","data":{"type":"object","required":["id","name","price","duration","review","img"],"properties":{"id":{"type":"integer","format":"int64","minimum":1,"example":301},"name":{"type":"string","example":"Маникюр с покрытием"},"price":{"type":"integer","format":"int32","minimum":0,"example":1500},"discount_percent":{"type":"integer","format":"int32","minimum":0,"maximum":100,"nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Текущий процент скидки услуги в preview избранного."},"children":[]}]}]}],"example":15},"duration":{"type":"integer","format":"int32","minimum":0,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Длительность услуги в минутах."},"children":[]}]}]}],"example":60},"review":{"allOf":[{"$ref":"#/components/schemas/FavoriteReviewPreview"}],"nullable":true},"img":{"type":"integer","format":"int64","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID изображения."},"children":[]}]}]}],"example":701}}}},"components/schemas/FavoritePostPreview":{"id":"components/schemas/FavoritePostPreview","kind":"json-schema","title":"FavoritePostPreview","data":{"type":"object","required":["id","title","tag","date","img"],"properties":{"id":{"type":"integer","format":"int64","minimum":1,"example":401},"title":{"type":"string","maxLength":150,"example":"Новый образ"},"tag":{"type":"string","maxLength":30,"example":"Маникюр"},"date":{"type":"string","format":"date","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Дата создания поста."},"children":[]}]}]}],"example":"2026-05-22"},"img":{"type":"integer","format":"int64","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID изображения."},"children":[]}]}]}],"example":801}}}},"components/schemas/FavoriteChatUserPreview":{"id":"components/schemas/FavoriteChatUserPreview","kind":"json-schema","title":"FavoriteChatUserPreview","data":{"type":"object","required":["id","name","avatar_id"],"properties":{"id":{"type":"integer","format":"int64","minimum":1,"example":15},"name":{"type":"string","example":"Лариса Д."},"avatar_id":{"type":"integer","format":"int64","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID аватара собеседника."},"children":[]}]}]}],"example":700}}}},"components/schemas/FavoriteMessagePreview":{"id":"components/schemas/FavoriteMessagePreview","kind":"json-schema","title":"FavoriteMessagePreview","data":{"type":"object","required":["id","text","at_create","from_id","to_id","image_ids","audio_ids","video_ids","document_ids","voice_id","is_read"],"properties":{"id":{"type":"integer","format":"int64","minimum":1,"example":1011},"text":{"type":"string","nullable":true,"example":"А сколько будет стоить сделать ногти?"},"at_create":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Дата и время создания сообщения в строковом формате, как возвращает backend."},"children":[]}]}]}],"example":"2026-05-22T09:41:00Z"},"from_id":{"type":"integer","format":"int64","nullable":true,"example":15},"to_id":{"type":"integer","format":"int64","nullable":true,"example":10},"image_ids":{"type":"array","nullable":true,"items":{"type":"integer","format":"int64","minimum":1},"example":[]},"audio_ids":{"type":"array","nullable":true,"items":{"type":"integer","format":"int64","minimum":1},"example":[]},"video_ids":{"type":"array","nullable":true,"items":{"type":"integer","format":"int64","minimum":1},"example":[]},"document_ids":{"type":"array","nullable":true,"items":{"type":"integer","format":"int64","minimum":1},"example":[]},"voice_id":{"type":"integer","format":"int64","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID голосового сообщения."},"children":[]}]}]}],"example":null},"is_read":{"type":"boolean","nullable":true,"example":false}}}},"components/schemas/FavoriteChatPreview":{"id":"components/schemas/FavoriteChatPreview","kind":"json-schema","title":"FavoriteChatPreview","data":{"type":"object","required":["id","chat_interlocutor","message_ids","last_message","unread_count","is_online"],"properties":{"id":{"type":"integer","format":"int64","minimum":1,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Идентификатор диалога."},"children":[]}]}]}],"example":20},"chat_interlocutor":{"$ref":"#/components/schemas/FavoriteChatUserPreview"},"message_ids":{"type":"array","items":{"type":"integer","format":"int64","minimum":1},"example":[1010,1011]},"last_message":{"allOf":[{"$ref":"#/components/schemas/FavoriteMessagePreview"}],"nullable":true},"unread_count":{"type":"integer","format":"int64","minimum":0,"example":1},"is_online":{"type":"boolean","example":true}}}},"components/schemas/FavoritePreview":{"id":"components/schemas/FavoritePreview","kind":"json-schema","title":"FavoritePreview","data":{"anyOf":[{"$ref":"#/components/schemas/FavoriteMasterPreview"},{"$ref":"#/components/schemas/FavoriteSalonPreview"},{"$ref":"#/components/schemas/FavoriteServicePreview"},{"$ref":"#/components/schemas/FavoriteChatPreview"},{"$ref":"#/components/schemas/FavoritePostPreview"}],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Preview-объект избранного. Конкретная схема зависит от "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"type_favorite"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" в запросе."},"children":[]}]}]}]}},"components/schemas/FavoritePreviewListResponse":{"id":"components/schemas/FavoritePreviewListResponse","kind":"json-schema","title":"FavoritePreviewListResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/FavoritePreview"}}}}},"components/schemas/UpdateReviewRequest":{"id":"components/schemas/UpdateReviewRequest","kind":"json-schema","title":"UpdateReviewRequest","data":{"type":"object","minProperties":1,"properties":{"rating":{"type":"integer","minimum":1,"maximum":5},"liked_text":{"type":"string","minLength":10,"maxLength":1000},"disliked_text":{"type":"string","minLength":10,"maxLength":1000},"comment":{"type":"string","minLength":10,"maxLength":3000},"tags":{"type":"array","maxItems":6,"items":{"$ref":"#/components/schemas/ReviewTag"}},"media_ids":{"type":"array","maxItems":10,"items":{"type":"integer","format":"int64","minimum":1}}}}},"components/schemas/ReviewEligibility":{"id":"components/schemas/ReviewEligibility","kind":"json-schema","title":"ReviewEligibility","data":{"type":"object","required":["service_record_id","can_review","reason","last_review_at","next_eligible_record_start_at","days_until_review"],"properties":{"service_record_id":{"type":"integer","format":"int64"},"can_review":{"type":"boolean"},"reason":{"type":"string","enum":["AVAILABLE","RECORD_NOT_FOUND","FORBIDDEN","RECORD_NOT_COMPLETED","ALREADY_REVIEWED","SAME_SERVICE_COOLDOWN"]},"last_review_at":{"type":"string","format":"date-time","nullable":true},"next_eligible_record_start_at":{"type":"string","format":"date-time","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Момент окончания cooldown. Имя поля сохранено для обратной совместимости."},"children":[]}]}]}]},"days_until_review":{"type":"integer","format":"int64","minimum":0,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Количество дней до возможности оставить отзыв, округлённое вверх. Равно 0, если отзыв доступен."},"children":[]}]}]}]}}}},"components/schemas/ReviewResponse":{"id":"components/schemas/ReviewResponse","kind":"json-schema","title":"ReviewResponse","data":{"type":"object","required":["id","service_record_id","provider_id","executor_id","user_id","rating","tags","media_ids","created_at"],"properties":{"id":{"type":"integer","format":"int64","example":77},"service_record_id":{"type":"integer","format":"int64","example":150},"provider_id":{"type":"integer","format":"int64","example":20,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"User id провайдера; для салона это user id владельца салона."},"children":[]}]}]}]},"executor_id":{"type":"integer","format":"int64","example":25,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"User id фактического исполнителя; для салонной записи это мастер салона."},"children":[]}]}]}]},"user_id":{"type":"integer","format":"int64","example":10},"rating":{"type":"integer","minimum":1,"maximum":5,"example":5},"liked_text":{"type":"string","nullable":true,"example":"Очень аккуратная работа и чистое рабочее место"},"disliked_text":{"type":"string","nullable":true,"example":"Немного долгое ожидание перед началом"},"comment":{"type":"string","nullable":true,"example":"В целом всё понравилось, результат отличный."},"tags":{"type":"array","items":{"$ref":"#/components/schemas/ReviewTag"}},"media_ids":{"type":"array","items":{"type":"integer","format":"int64","minimum":1}},"created_at":{"type":"string","format":"date-time","example":"2026-04-28T10:30:00Z"}}}},"components/schemas/ReviewSingleResponse":{"id":"components/schemas/ReviewSingleResponse","kind":"json-schema","title":"ReviewSingleResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"$ref":"#/components/schemas/ReviewResponse"}}}},"components/schemas/ReviewListResponse":{"id":"components/schemas/ReviewListResponse","kind":"json-schema","title":"ReviewListResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ReviewResponse"}}}}},"components/schemas/AdminBlockRequest":{"id":"components/schemas/AdminBlockRequest","kind":"json-schema","title":"AdminBlockRequest","data":{"type":"object","additionalProperties":false,"required":["reason"],"properties":{"reason":{"type":"string","minLength":1,"maxLength":1000,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Название выбранной причины из "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET /api/admin/block-reasons"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" для"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"соответствующего типа объекта. Пояснение "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"description"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" передавать не нужно."},"children":[]}]}]}],"example":"Нарушение правил пользования платформой"}}}},"components/schemas/ReferralLinkResponse":{"id":"components/schemas/ReferralLinkResponse","kind":"json-schema","title":"ReferralLinkResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"$ref":"#/components/schemas/ReferralLinkData"}}}},"components/schemas/ReferralLinkData":{"id":"components/schemas/ReferralLinkData","kind":"json-schema","title":"ReferralLinkData","data":{"type":"object","required":["referral_code","referral_link"],"properties":{"referral_code":{"type":"string","pattern":"^\\d+$","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Код текущего реферального приглашения."},"children":[]}]}]}]},"referral_link":{"type":"string","format":"uri","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Готовая ссылка для приглашения."},"children":[]}]}]}]}}}},"components/schemas/ReferralsResponse":{"id":"components/schemas/ReferralsResponse","kind":"json-schema","title":"ReferralsResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"$ref":"#/components/schemas/ReferralsData"}}}},"components/schemas/ReferralsData":{"id":"components/schemas/ReferralsData","kind":"json-schema","title":"ReferralsData","data":{"type":"object","additionalProperties":false,"required":["items"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ReferralItem"}}}}},"components/schemas/ReferralItem":{"id":"components/schemas/ReferralItem","kind":"json-schema","title":"ReferralItem","data":{"type":"object","additionalProperties":false,"required":["referral_id","user_id","name","avatar","referral_status","registered_at","expires_at","completed_at","reward"],"properties":{"referral_id":{"type":"integer","format":"int64"},"user_id":{"type":"integer","format":"int64"},"name":{"type":"string"},"avatar":{"type":"integer","format":"int64","nullable":true},"referral_status":{"$ref":"#/components/schemas/ReferralRelationStatus"},"registered_at":{"type":"string","format":"date-time"},"expires_at":{"type":"string","format":"date-time","nullable":true},"completed_at":{"type":"string","format":"date-time","nullable":true},"reward":{"$ref":"#/components/schemas/ReferralRewardView"}}}},"components/schemas/BusinessReferralsResponse":{"id":"components/schemas/BusinessReferralsResponse","kind":"json-schema","title":"BusinessReferralsResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"$ref":"#/components/schemas/BusinessReferralsData"}}}},"components/schemas/BusinessReferralsData":{"id":"components/schemas/BusinessReferralsData","kind":"json-schema","title":"BusinessReferralsData","data":{"type":"object","additionalProperties":false,"required":["items"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/BusinessReferralItem"}}}}},"components/schemas/BusinessReferralItem":{"id":"components/schemas/BusinessReferralItem","kind":"json-schema","title":"BusinessReferralItem","data":{"type":"object","additionalProperties":false,"required":["referral_id","business_id","business_type","name","image","referral_status","registered_at","expires_at","completed_at","reward"],"properties":{"referral_id":{"type":"integer","format":"int64"},"business_id":{"type":"integer","format":"int64"},"business_type":{"type":"string","enum":["MASTER","SALON"]},"name":{"type":"string"},"image":{"type":"integer","format":"int64","nullable":true},"referral_status":{"$ref":"#/components/schemas/ReferralRelationStatus"},"registered_at":{"type":"string","format":"date-time"},"expires_at":{"type":"string","format":"date-time","nullable":true},"completed_at":{"type":"string","format":"date-time","nullable":true},"reward":{"$ref":"#/components/schemas/ReferralRewardView"}}}},"components/schemas/ReferralRelationStatus":{"id":"components/schemas/ReferralRelationStatus","kind":"json-schema","title":"ReferralRelationStatus","data":{"type":"string","enum":["WAITING_FOR_BOOKING","WAITING_FOR_VISIT","COMPLETED","EXPIRED"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Этап приглашения:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"WAITING_FOR_BOOKING"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — пользователь зарегистрирован, но ещё не создал оплаченную запись;"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"WAITING_FOR_VISIT"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — запись оплачена, ожидается завершение визита;"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"COMPLETED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — условие выполнено, награда зафиксирована;"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"EXPIRED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — условие не выполнено за 70 дней."},"children":[]}]}]}]}]}},"components/schemas/ReferralRewardView":{"id":"components/schemas/ReferralRewardView","kind":"json-schema","title":"ReferralRewardView","data":{"type":"object","additionalProperties":false,"required":["state","reward_type","percent","granted_at"],"properties":{"state":{"type":"string","enum":["GRANTED","PENDING_CALCULATION","NOT_GRANTED"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GRANTED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — награда начислена; "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"PENDING_CALCULATION"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — размер награды станет известен"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"после выполнения условия; "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"NOT_GRANTED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — награда не начислена. Для незавершённого"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"бизнес-приглашения всегда возвращается "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"NOT_GRANTED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},"reward_type":{"type":"string","enum":["PERMANENT_DISCOUNT","COUPON"],"nullable":true},"percent":{"type":"integer","minimum":1,"maximum":100,"nullable":true},"granted_at":{"type":"string","format":"date-time","nullable":true}}}},"components/schemas/ReferralItemResponse":{"id":"components/schemas/ReferralItemResponse","kind":"json-schema","title":"ReferralItemResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"$ref":"#/components/schemas/ReferralItem"}}}},"components/schemas/BusinessReferralItemResponse":{"id":"components/schemas/BusinessReferralItemResponse","kind":"json-schema","title":"BusinessReferralItemResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"$ref":"#/components/schemas/BusinessReferralItem"}}}},"components/schemas/ReferralRewardHistoryApiResponse":{"id":"components/schemas/ReferralRewardHistoryApiResponse","kind":"json-schema","title":"ReferralRewardHistoryApiResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"type":"object","additionalProperties":false,"required":["items"],"properties":{"items":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["id","referral_id","target_type","reward"],"properties":{"id":{"type":"integer","format":"int64"},"referral_id":{"type":"integer","format":"int64"},"target_type":{"type":"string","enum":["CLIENT","BUSINESS"]},"reward":{"$ref":"#/components/schemas/ReferralRewardView"}}}}}}}}},"components/schemas/CouponsApiResponse":{"id":"components/schemas/CouponsApiResponse","kind":"json-schema","title":"CouponsApiResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"type":"object","additionalProperties":false,"required":["items"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/CouponItem"}}}}}}},"components/schemas/CouponItem":{"id":"components/schemas/CouponItem","kind":"json-schema","title":"CouponItem","data":{"type":"object","additionalProperties":false,"required":["id","percent","status","source_type","source_label","issued_at","expires_at","service_name","service_date"],"properties":{"id":{"type":"integer","format":"int64"},"percent":{"type":"integer","minimum":1,"maximum":100},"status":{"type":"string","enum":["ACTIVE","RESERVED","USED","EXPIRED","CANCELED"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ACTIVE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — доступен; "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"RESERVED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — выбран для записи; "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"USED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — применён после оплаты;"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"EXPIRED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — срок истёк; "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CANCELED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — отменён."},"children":[]}]}]}]},"source_type":{"type":"string","enum":["REFERRAL","TELEGRAM_SUBSCRIPTION","PROMOTION","ADMIN","COMPENSATION","LEGACY"]},"source_label":{"type":"string","nullable":true},"issued_at":{"type":"string","format":"date-time"},"expires_at":{"type":"string","format":"date-time","nullable":true},"service_name":{"type":"string","nullable":true},"service_date":{"type":"string","format":"date-time","nullable":true}}}},"components/schemas/ClientReferralProgramResponse":{"id":"components/schemas/ClientReferralProgramResponse","kind":"json-schema","title":"ClientReferralProgramResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"$ref":"#/components/schemas/ClientReferralProgramData"}}}},"components/schemas/ClientReferralProgramData":{"id":"components/schemas/ClientReferralProgramData","kind":"json-schema","title":"ClientReferralProgramData","data":{"type":"object","additionalProperties":false,"required":["current_level","completed_client_referrals","permanent_discount_percent","rules"],"properties":{"current_level":{"type":"integer","format":"int32","minimum":0},"completed_client_referrals":{"type":"integer","format":"int64","minimum":0},"permanent_discount_percent":{"type":"integer","format":"int32","minimum":0,"maximum":100},"rules":{"type":"array","items":{"$ref":"#/components/schemas/ClientReferralRule"}}}}},"components/schemas/BusinessReferralProgramResponse":{"id":"components/schemas/BusinessReferralProgramResponse","kind":"json-schema","title":"BusinessReferralProgramResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"$ref":"#/components/schemas/BusinessReferralProgramData"}}}},"components/schemas/BusinessReferralProgramData":{"id":"components/schemas/BusinessReferralProgramData","kind":"json-schema","title":"BusinessReferralProgramData","data":{"type":"object","additionalProperties":false,"required":["completed_business_referrals","rules"],"properties":{"completed_business_referrals":{"type":"integer","format":"int64","minimum":0},"rules":{"type":"array","items":{"$ref":"#/components/schemas/BusinessReferralRule"}}}}},"components/schemas/ClientReferralRule":{"id":"components/schemas/ClientReferralRule","kind":"json-schema","title":"ClientReferralRule","data":{"type":"object","additionalProperties":false,"required":["display_title","condition_text","reward_percent","reward_interval","completed","is_current"],"properties":{"display_title":{"type":"string"},"condition_text":{"type":"string"},"reward_percent":{"type":"integer","format":"int32","minimum":0,"maximum":100},"reward_interval":{"type":"string","enum":["ALL_SERVICES","NEXT_SERVICE"]},"completed":{"type":"boolean"},"is_current":{"type":"boolean"}}}},"components/schemas/BusinessReferralRule":{"id":"components/schemas/BusinessReferralRule","kind":"json-schema","title":"BusinessReferralRule","data":{"type":"object","additionalProperties":false,"required":["display_title","condition_text","reward_percent","reward_interval"],"properties":{"display_title":{"type":"string"},"condition_text":{"type":"string"},"reward_percent":{"type":"integer","format":"int32","minimum":0,"maximum":100},"reward_interval":{"type":"string","enum":["ALL_SERVICES"]}}}},"components/schemas/AdminCreateCategoryRequest":{"id":"components/schemas/AdminCreateCategoryRequest","kind":"json-schema","title":"AdminCreateCategoryRequest","data":{"type":"object","additionalProperties":false,"required":["name"],"properties":{"name":{"type":"string","minLength":1,"maxLength":100},"image_id":{"type":"integer","format":"int64","minimum":1,"nullable":true},"subcategories":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Новые подкатегории; sort_order определяется индексом элемента, начиная с 0."},"children":[]}]}]}],"items":{"$ref":"#/components/schemas/AdminCategorySubcategoryCreate"}}}}},"components/schemas/AdminCategorySubcategoryCreate":{"id":"components/schemas/AdminCategorySubcategoryCreate","kind":"json-schema","title":"AdminCategorySubcategoryCreate","data":{"type":"object","additionalProperties":false,"required":["name"],"properties":{"name":{"type":"string","minLength":1,"maxLength":100}}}},"components/schemas/AdminUpdateCategoryRequest":{"id":"components/schemas/AdminUpdateCategoryRequest","kind":"json-schema","title":"AdminUpdateCategoryRequest","data":{"type":"object","additionalProperties":false,"minProperties":1,"properties":{"name":{"type":"string","minLength":1,"maxLength":100,"nullable":true},"image_id":{"type":"integer","format":"int64","minimum":1,"nullable":true},"subcategories":{"type":"array","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Полный список подкатегорий. Отсутствующие элементы удаляются, если не используются услугами."},"children":[]}]}]}],"items":{"$ref":"#/components/schemas/AdminCategorySubcategoryUpdate"}}}}},"components/schemas/AdminCategorySubcategoryUpdate":{"id":"components/schemas/AdminCategorySubcategoryUpdate","kind":"json-schema","title":"AdminCategorySubcategoryUpdate","data":{"type":"object","additionalProperties":false,"required":["name"],"properties":{"category_id":{"type":"integer","format":"int64","minimum":1,"nullable":true},"name":{"type":"string","minLength":1,"maxLength":100}}}},"components/schemas/AdminCategoryListResponse":{"id":"components/schemas/AdminCategoryListResponse","kind":"json-schema","title":"AdminCategoryListResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/AdminCategoryListItem"}}}}},"components/schemas/AdminCategoryListItem":{"id":"components/schemas/AdminCategoryListItem","kind":"json-schema","title":"AdminCategoryListItem","data":{"type":"object","required":["id","name","parent_id","image_id","sort_order","children_count","services_count"],"properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"},"parent_id":{"type":"integer","format":"int64","nullable":true},"image_id":{"type":"integer","format":"int64","nullable":true},"sort_order":{"type":"integer","format":"int32","nullable":true},"children_count":{"type":"integer","format":"int64","minimum":0},"services_count":{"type":"integer","format":"int64","minimum":0}}}},"components/schemas/AdminClientDetailsResponse":{"id":"components/schemas/AdminClientDetailsResponse","kind":"json-schema","title":"AdminClientDetailsResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"$ref":"#/components/schemas/AdminClientDetails"}}}},"components/schemas/AdminClientDetails":{"id":"components/schemas/AdminClientDetails","kind":"json-schema","title":"AdminClientDetails","data":{"type":"object","required":["id","first_name","last_name","avatar","city","address","phone","email","status","block_reason","blocked_by"],"properties":{"id":{"type":"integer","format":"int64"},"first_name":{"type":"string","nullable":true},"last_name":{"type":"string","nullable":true},"avatar":{"type":"integer","format":"int64","nullable":true},"city":{"type":"string","nullable":true},"address":{"type":"string","nullable":true},"phone":{"type":"string","nullable":true},"email":{"type":"string","format":"email","nullable":true},"status":{"type":"string","enum":["ACTIVE","BLOCKED"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Текущее состояние аккаунта клиента."},"children":[]}]}]}]},"block_reason":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Причина блокировки; "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если клиент не заблокирован."},"children":[]}]}]}]},"blocked_by":{"allOf":[{"$ref":"#/components/schemas/AdminBlockedBy"}],"nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Администратор, выполнивший текущую блокировку; "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если клиент активен или данные отсутствуют."},"children":[]}]}]}]}}}},"components/schemas/AdminBlockedBy":{"id":"components/schemas/AdminBlockedBy","kind":"json-schema","title":"AdminBlockedBy","data":{"type":"object","required":["id","first_name","last_name","display_name"],"properties":{"id":{"type":"integer","format":"int64"},"first_name":{"type":"string","nullable":true},"last_name":{"type":"string","nullable":true},"display_name":{"type":"string","nullable":true}}}},"components/schemas/AdminBlockReason":{"id":"components/schemas/AdminBlockReason","kind":"json-schema","title":"AdminBlockReason","data":{"type":"object","required":["reason","description"],"properties":{"reason":{"type":"string"},"description":{"type":"string"}}}},"components/schemas/AdminBlockReasonsResponse":{"id":"components/schemas/AdminBlockReasonsResponse","kind":"json-schema","title":"AdminBlockReasonsResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"},{"type":"object","properties":{"data":{"$ref":"#/components/schemas/AdminBlockReasonsData"}}}]}},"components/schemas/AdminBlockReasonsData":{"id":"components/schemas/AdminBlockReasonsData","kind":"json-schema","title":"AdminBlockReasonsData","data":{"type":"object","required":["target","items"],"properties":{"target":{"type":"string","enum":["CLIENT","MASTER","SALON"]},"items":{"type":"array","items":{"$ref":"#/components/schemas/AdminBlockReason"}}}}},"components/schemas/AdminClientUpdateRequest":{"id":"components/schemas/AdminClientUpdateRequest","kind":"json-schema","title":"AdminClientUpdateRequest","data":{"type":"object","additionalProperties":false,"minProperties":1,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Частичный запрос обновления клиента. Все поля необязательные, но"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"необходимо передать хотя бы одно поле. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"avatar"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" не поддерживается."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"При передаче "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"address"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" необходимо передать "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"geolocation"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"properties":{"first_name":{"type":"string","minLength":1,"maxLength":100},"last_name":{"type":"string","minLength":1,"maxLength":100},"city":{"type":"string","minLength":1,"maxLength":30},"address":{"type":"string","minLength":1,"maxLength":1000},"phone":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Телефон будет стандартизирован перед сохранением."},"children":[]}]}]}]},"email":{"type":"string","format":"email"},"geolocation":{"$ref":"#/components/schemas/ProfileGeolocation"}}}},"components/schemas/AdminReferralRulesResponse":{"id":"components/schemas/AdminReferralRulesResponse","kind":"json-schema","title":"AdminReferralRulesResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"$ref":"#/components/schemas/AdminReferralRulesPage"}}}},"components/schemas/AdminReferralRulesPage":{"id":"components/schemas/AdminReferralRulesPage","kind":"json-schema","title":"AdminReferralRulesPage","data":{"type":"object","required":["items","offset","limit","has_more","total_count"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/AdminReferralRule"}},"offset":{"type":"integer"},"limit":{"type":"integer"},"has_more":{"type":"boolean"},"total_count":{"type":"integer","format":"int64"}}}},"components/schemas/AdminReferralStatsResponse":{"id":"components/schemas/AdminReferralStatsResponse","kind":"json-schema","title":"AdminReferralStatsResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"$ref":"#/components/schemas/AdminReferralStatsData"}}}},"components/schemas/AdminReferralStatsData":{"id":"components/schemas/AdminReferralStatsData","kind":"json-schema","title":"AdminReferralStatsData","data":{"type":"object","additionalProperties":false,"required":["period","total_referrals","total_referrals_change_percent","conversion_percent","conversion_change_percentage_points","active_ambassadors","active_ambassadors_change_percent"],"properties":{"period":{"$ref":"#/components/schemas/AdminReferralStatsPeriod"},"total_referrals":{"type":"integer","format":"int64","minimum":0,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Количество регистраций по реферальной ссылке за выбранный период."},"children":[]}]}]}]},"total_referrals_change_percent":{"type":"number","format":"double","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Изменение количества рефералов относительно предыдущего равного периода, в процентах."},"children":[]}]}]}]},"conversion_percent":{"type":"number","format":"double","minimum":0,"maximum":100,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Доля рефералов периода, выполнивших целевое действие до конца периода."},"children":[]}]}]}]},"conversion_change_percentage_points":{"type":"number","format":"double","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Разница конверсий текущего и предыдущего периодов в процентных пунктах."},"children":[]}]}]}]},"active_ambassadors":{"type":"integer","format":"int64","minimum":0,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Количество уникальных пользователей, по ссылке которых зарегистрировался хотя бы один реферал."},"children":[]}]}]}]},"active_ambassadors_change_percent":{"type":"number","format":"double","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Изменение количества активных амбассадоров относительно предыдущего периода, в процентах."},"children":[]}]}]}]}}}},"components/schemas/AdminReferralStatsPeriod":{"id":"components/schemas/AdminReferralStatsPeriod","kind":"json-schema","title":"AdminReferralStatsPeriod","data":{"type":"object","additionalProperties":false,"required":["from","to","previous_from","previous_to"],"properties":{"from":{"type":"string","format":"date","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Первый день текущего периода."},"children":[]}]}]}]},"to":{"type":"string","format":"date","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Последний день текущего периода."},"children":[]}]}]}]},"previous_from":{"type":"string","format":"date","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Первый день предыдущего равного периода."},"children":[]}]}]}]},"previous_to":{"type":"string","format":"date","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Последний день предыдущего равного периода."},"children":[]}]}]}]}}}},"components/schemas/AdminReferralProfitResponse":{"id":"components/schemas/AdminReferralProfitResponse","kind":"json-schema","title":"AdminReferralProfitResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"$ref":"#/components/schemas/AdminReferralProfitData"}}}},"components/schemas/AdminReferralProfitData":{"id":"components/schemas/AdminReferralProfitData","kind":"json-schema","title":"AdminReferralProfitData","data":{"type":"object","additionalProperties":false,"required":["from","to","commission_percent","points"],"properties":{"from":{"type":"string","format":"date","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Первый день графика."},"children":[]}]}]}]},"to":{"type":"string","format":"date","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Последний день графика."},"children":[]}]}]}]},"commission_percent":{"type":"integer","minimum":0,"maximum":100,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Процент комиссии платформы, использованный при расчёте заработка."},"children":[]}]}]}]},"points":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Дневные значения; отсутствующие в БД дни возвращаются с нулевыми суммами."},"children":[]}]}]}],"items":{"$ref":"#/components/schemas/AdminReferralProfitPoint"}}}}},"components/schemas/AdminReferralProfitPoint":{"id":"components/schemas/AdminReferralProfitPoint","kind":"json-schema","title":"AdminReferralProfitPoint","data":{"type":"object","additionalProperties":false,"required":["date","earned_amount","spent_amount"],"properties":{"date":{"type":"string","format":"date","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Календарный день в часовом поясе Europe/Minsk."},"children":[]}]}]}]},"earned_amount":{"type":"integer","format":"int64","minimum":0,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Комиссия платформы от завершённых записей реферальных клиентов, в рублях."},"children":[]}]}]}]},"spent_amount":{"type":"integer","format":"int64","minimum":0,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Сумма фактически применённых реферальных скидок, в рублях."},"children":[]}]}]}]}}}},"components/schemas/AdminReferralRuleResponse":{"id":"components/schemas/AdminReferralRuleResponse","kind":"json-schema","title":"AdminReferralRuleResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"$ref":"#/components/schemas/AdminReferralRule"}}}},"components/schemas/AdminReferralRule":{"id":"components/schemas/AdminReferralRule","kind":"json-schema","title":"AdminReferralRule","data":{"type":"object","additionalProperties":false,"required":["id","target_type","condition_text","reward_percent","reward_interval"],"properties":{"id":{"type":"integer","format":"int64"},"target_type":{"type":"string","enum":["CLIENT","BUSINESS"]},"condition_text":{"type":"string","minLength":1},"reward_percent":{"type":"integer","minimum":0,"maximum":100},"reward_interval":{"type":"string","enum":["ALL_SERVICES","NEXT_SERVICE"]}}}},"components/schemas/AdminReferralRuleUpdate":{"id":"components/schemas/AdminReferralRuleUpdate","kind":"json-schema","title":"AdminReferralRuleUpdate","data":{"type":"object","required":["reward_percent","reward_interval"],"properties":{"reward_percent":{"type":"integer","minimum":0,"maximum":100},"reward_interval":{"type":"string","enum":["ALL_SERVICES","NEXT_SERVICE"]}}}},"components/schemas/AdminClientListResponse":{"id":"components/schemas/AdminClientListResponse","kind":"json-schema","title":"AdminClientListResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"$ref":"#/components/schemas/AdminClientListData"}}}},"components/schemas/AdminClientListData":{"id":"components/schemas/AdminClientListData","kind":"json-schema","title":"AdminClientListData","data":{"type":"object","required":["period","items","offset","limit","has_more"],"properties":{"period":{"$ref":"#/components/schemas/AdminClientListPeriod"},"items":{"type":"array","items":{"$ref":"#/components/schemas/AdminClientListItem"}},"offset":{"type":"integer","minimum":0},"limit":{"type":"integer","minimum":1},"has_more":{"type":"boolean"}}}},"components/schemas/AdminClientListPeriod":{"id":"components/schemas/AdminClientListPeriod","kind":"json-schema","title":"AdminClientListPeriod","data":{"type":"object","required":["from","to"],"properties":{"from":{"type":"string","format":"date"},"to":{"type":"string","format":"date"}}}},"components/schemas/AdminClientListItem":{"id":"components/schemas/AdminClientListItem","kind":"json-schema","title":"AdminClientListItem","data":{"type":"object","required":["id","first_name","last_name","full_name","phone","city","avatar","registered_at","records_count","spent_amount","status","blocked_at","block_reason"],"properties":{"id":{"type":"integer","format":"int64"},"first_name":{"type":"string","nullable":true},"last_name":{"type":"string","nullable":true},"full_name":{"type":"string"},"phone":{"type":"string","nullable":true},"city":{"type":"string","nullable":true},"avatar":{"type":"integer","format":"int64","nullable":true},"registered_at":{"type":"string","format":"date-time"},"records_count":{"type":"integer","format":"int64","minimum":0},"spent_amount":{"type":"integer","format":"int64","minimum":0},"status":{"type":"string","enum":["ACTIVE","INACTIVE","BLOCKED"]},"blocked_at":{"type":"string","format":"date-time","nullable":true},"block_reason":{"type":"string","nullable":true}}}},"components/schemas/AdminClientChatListResponse":{"id":"components/schemas/AdminClientChatListResponse","kind":"json-schema","title":"AdminClientChatListResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"},{"type":"object","properties":{"data":{"$ref":"#/components/schemas/AdminClientChatListData"}}}]}},"components/schemas/AdminClientChatListData":{"id":"components/schemas/AdminClientChatListData","kind":"json-schema","title":"AdminClientChatListData","data":{"type":"object","required":["items","offset","limit","has_more"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/AdminClientChatItem"}},"offset":{"type":"integer","minimum":0},"limit":{"type":"integer","minimum":1,"maximum":100},"has_more":{"type":"boolean"}}}},"components/schemas/AdminClientChatItem":{"id":"components/schemas/AdminClientChatItem","kind":"json-schema","title":"AdminClientChatItem","data":{"type":"object","required":["dialog_id","display_name"],"properties":{"dialog_id":{"type":"integer","format":"int64"},"display_name":{"type":"string"}}}},"components/schemas/AdminClientChatHistoryResponse":{"id":"components/schemas/AdminClientChatHistoryResponse","kind":"json-schema","title":"AdminClientChatHistoryResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"},{"type":"object","properties":{"data":{"$ref":"#/components/schemas/AdminClientChatHistoryData"}}}]}},"components/schemas/AdminClientChatHistoryData":{"id":"components/schemas/AdminClientChatHistoryData","kind":"json-schema","title":"AdminClientChatHistoryData","data":{"type":"object","required":["dialog_id","client","messages","limit","has_more"],"properties":{"dialog_id":{"type":"integer","format":"int64"},"client":{"$ref":"#/components/schemas/AdminClientChatParticipant"},"messages":{"type":"array","items":{"$ref":"#/components/schemas/AdminClientChatMessage"}},"offset":{"type":"integer","minimum":0,"nullable":true},"limit":{"type":"integer","minimum":1,"maximum":100},"has_more":{"type":"boolean"},"next_before_id":{"type":"integer","format":"int64","minimum":1,"nullable":true}}}},"components/schemas/AdminClientChatParticipant":{"id":"components/schemas/AdminClientChatParticipant","kind":"json-schema","title":"AdminClientChatParticipant","data":{"type":"object","required":["id"],"properties":{"id":{"type":"integer","format":"int64"},"first_name":{"type":"string","nullable":true},"last_name":{"type":"string","nullable":true},"display_name":{"type":"string","nullable":true},"phone":{"type":"string","nullable":true},"avatar_id":{"type":"integer","format":"int64","nullable":true}}}},"components/schemas/AdminClientChatMessage":{"id":"components/schemas/AdminClientChatMessage","kind":"json-schema","title":"AdminClientChatMessage","data":{"type":"object","required":["id","at_create"],"properties":{"id":{"type":"integer","format":"int64"},"text":{"type":"string","nullable":true},"at_create":{"type":"string"},"updated_at":{"type":"string","nullable":true},"from":{"allOf":[{"$ref":"#/components/schemas/AdminClientChatMessageParticipant"}],"nullable":true},"to":{"allOf":[{"$ref":"#/components/schemas/AdminClientChatMessageParticipant"}],"nullable":true}}}},"components/schemas/AdminClientChatMessageParticipant":{"id":"components/schemas/AdminClientChatMessageParticipant","kind":"json-schema","title":"AdminClientChatMessageParticipant","data":{"type":"object","required":["id"],"properties":{"id":{"type":"integer","format":"int64"},"display_name":{"type":"string","nullable":true},"avatar_id":{"type":"integer","format":"int64","nullable":true}}}},"components/schemas/AdminClientStatsResponse":{"id":"components/schemas/AdminClientStatsResponse","kind":"json-schema","title":"AdminClientStatsResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"$ref":"#/components/schemas/AdminClientStatsData"}}}},"components/schemas/AdminClientStatsData":{"id":"components/schemas/AdminClientStatsData","kind":"json-schema","title":"AdminClientStatsData","data":{"type":"object","required":["period","total_users","total_users_change_percent","new_users","new_users_change_percent","active_users","active_users_change_percent","blocked_users","blocked_users_change_percent"],"properties":{"period":{"$ref":"#/components/schemas/AdminClientStatsPeriod"},"total_users":{"type":"integer","format":"int64"},"total_users_change_percent":{"type":"number","format":"double","nullable":true},"new_users":{"type":"integer","format":"int64"},"new_users_change_percent":{"type":"number","format":"double","nullable":true},"active_users":{"type":"integer","format":"int64"},"active_users_change_percent":{"type":"number","format":"double","nullable":true},"blocked_users":{"type":"integer","format":"int64"},"blocked_users_change_percent":{"type":"number","format":"double","nullable":true}}}},"components/schemas/AdminClientStatsPeriod":{"id":"components/schemas/AdminClientStatsPeriod","kind":"json-schema","title":"AdminClientStatsPeriod","data":{"type":"object","required":["from","to","previous_from","previous_to"],"properties":{"from":{"type":"string","format":"date"},"to":{"type":"string","format":"date"},"previous_from":{"type":"string","format":"date"},"previous_to":{"type":"string","format":"date"}}}},"components/schemas/AdminRecordDetailsResponse":{"id":"components/schemas/AdminRecordDetailsResponse","kind":"json-schema","title":"AdminRecordDetailsResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"$ref":"#/components/schemas/AdminRecordDetailsData"}}}},"components/schemas/AdminCancelRecordRequest":{"id":"components/schemas/AdminCancelRecordRequest","kind":"json-schema","title":"AdminCancelRecordRequest","data":{"type":"object","additionalProperties":false,"required":["reason"],"properties":{"reason":{"type":"string","minLength":1,"maxLength":500}}}},"components/schemas/AdminCancelRecordResponse":{"id":"components/schemas/AdminCancelRecordResponse","kind":"json-schema","title":"AdminCancelRecordResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"type":"object","additionalProperties":false,"required":["record_id","status","reason","canceled_at"],"properties":{"record_id":{"type":"integer","format":"int64"},"status":{"type":"string","enum":["CANCELED"]},"reason":{"type":"string","minLength":1,"maxLength":500},"canceled_at":{"type":"string","format":"date-time"}}}}}},"components/schemas/AdminRecordDetailsData":{"id":"components/schemas/AdminRecordDetailsData","kind":"json-schema","title":"AdminRecordDetailsData","data":{"type":"object","required":["record_id","status","comment","created_at","service_period","master","salon","client","services","total_price"],"properties":{"record_id":{"type":"integer","format":"int64"},"status":{"$ref":"#/components/schemas/AdminRecordStatus"},"comment":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Единственное пояснение к отображаемому статусу. Для BOOKED и COMPLETED равно null."},"children":[]}]}]}]},"created_at":{"type":"string","format":"date-time","nullable":true},"service_period":{"$ref":"#/components/schemas/AdminRecordServicePeriod"},"master":{"$ref":"#/components/schemas/AdminRecordMaster"},"salon":{"allOf":[{"$ref":"#/components/schemas/AdminRecordSalon"}],"nullable":true},"client":{"$ref":"#/components/schemas/AdminRecordClient"},"services":{"type":"array","items":{"$ref":"#/components/schemas/AdminRecordServiceItem"}},"total_price":{"type":"integer","format":"int32","nullable":true}}}},"components/schemas/AdminRecordServicePeriod":{"id":"components/schemas/AdminRecordServicePeriod","kind":"json-schema","title":"AdminRecordServicePeriod","data":{"type":"object","required":["start_at","end_at","duration_minutes"],"properties":{"start_at":{"type":"string","format":"date-time"},"end_at":{"type":"string","format":"date-time"},"duration_minutes":{"type":"integer","format":"int64","minimum":0}}}},"components/schemas/AdminRecordMaster":{"id":"components/schemas/AdminRecordMaster","kind":"json-schema","title":"AdminRecordMaster","data":{"type":"object","required":["id","name","phone","photo_id"],"properties":{"id":{"type":"integer","format":"int64","nullable":true},"name":{"type":"string","nullable":true},"phone":{"type":"string","nullable":true},"photo_id":{"type":"integer","format":"int64","nullable":true}}}},"components/schemas/AdminRecordSalon":{"id":"components/schemas/AdminRecordSalon","kind":"json-schema","title":"AdminRecordSalon","data":{"type":"object","required":["id","name","city","address","phone"],"properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string","nullable":true},"city":{"type":"string","nullable":true},"address":{"type":"string","nullable":true},"phone":{"type":"string","nullable":true}}}},"components/schemas/AdminRecordClient":{"id":"components/schemas/AdminRecordClient","kind":"json-schema","title":"AdminRecordClient","data":{"type":"object","required":["id","name","phone"],"properties":{"id":{"type":"integer","format":"int64","nullable":true},"name":{"type":"string","nullable":true},"phone":{"type":"string","nullable":true}}}},"components/schemas/AdminRecordServiceItem":{"id":"components/schemas/AdminRecordServiceItem","kind":"json-schema","title":"AdminRecordServiceItem","data":{"type":"object","required":["id","name","duration_minutes","price"],"properties":{"id":{"type":"integer","format":"int64","nullable":true},"name":{"type":"string","nullable":true},"duration_minutes":{"type":"integer","format":"int64","minimum":0},"price":{"type":"integer","format":"int32","nullable":true}}}},"components/schemas/AdminRecordStatsResponse":{"id":"components/schemas/AdminRecordStatsResponse","kind":"json-schema","title":"AdminRecordStatsResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"$ref":"#/components/schemas/AdminRecordStatsData"}}}},"components/schemas/AdminRecordStatsData":{"id":"components/schemas/AdminRecordStatsData","kind":"json-schema","title":"AdminRecordStatsData","data":{"type":"object","required":["period","total_records","total_records_change_percent","completed_records","completed_records_percent","waiting_records","waiting_records_percent","canceled_records","canceled_records_percent"],"properties":{"period":{"$ref":"#/components/schemas/AdminRecordStatsPeriod"},"total_records":{"type":"integer","format":"int64","minimum":0},"total_records_change_percent":{"type":"number","format":"double","nullable":true},"completed_records":{"type":"integer","format":"int64","minimum":0},"completed_records_percent":{"type":"number","format":"double"},"waiting_records":{"type":"integer","format":"int64","minimum":0},"waiting_records_percent":{"type":"number","format":"double"},"canceled_records":{"type":"integer","format":"int64","minimum":0},"canceled_records_percent":{"type":"number","format":"double"}}}},"components/schemas/AdminRecordStatsPeriod":{"id":"components/schemas/AdminRecordStatsPeriod","kind":"json-schema","title":"AdminRecordStatsPeriod","data":{"type":"object","required":["from","to","previous_from","previous_to"],"properties":{"from":{"type":"string","format":"date"},"to":{"type":"string","format":"date"},"previous_from":{"type":"string","format":"date"},"previous_to":{"type":"string","format":"date"}}}},"components/schemas/AdminRecordListResponse":{"id":"components/schemas/AdminRecordListResponse","kind":"json-schema","title":"AdminRecordListResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"$ref":"#/components/schemas/AdminRecordListData"}}}},"components/schemas/AdminRecordListData":{"id":"components/schemas/AdminRecordListData","kind":"json-schema","title":"AdminRecordListData","data":{"type":"object","required":["period","items","offset","limit","has_more"],"properties":{"period":{"$ref":"#/components/schemas/AdminRecordListPeriod"},"items":{"type":"array","items":{"$ref":"#/components/schemas/AdminRecordListItem"}},"offset":{"type":"integer","minimum":0},"limit":{"type":"integer","minimum":1},"has_more":{"type":"boolean"}}}},"components/schemas/AdminRecordListPeriod":{"id":"components/schemas/AdminRecordListPeriod","kind":"json-schema","title":"AdminRecordListPeriod","data":{"type":"object","required":["from","to"],"properties":{"from":{"type":"string","format":"date"},"to":{"type":"string","format":"date"}}}},"components/schemas/AdminRecordListItem":{"id":"components/schemas/AdminRecordListItem","kind":"json-schema","title":"AdminRecordListItem","data":{"type":"object","required":["record_id","provider_id","provider_name","provider_type","executor_id","executor_name","service_name","client_id","client_name","client_phone","city","paid_at","start_at","service_price","status","comment"],"properties":{"record_id":{"type":"integer","format":"int64"},"provider_id":{"type":"integer","format":"int64","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Для салонной записи — salons.id; для индивидуального мастера — users.id мастера. Это представление админского API, значение service_records.provider_id не изменяется."},"children":[]}]}]}]},"provider_name":{"type":"string","nullable":true},"provider_type":{"type":"string","enum":["MASTER","SALON"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Тип провайдера записи; не определяется сравнением provider_id и executor_id, поскольку для SALON provider_id содержит salons.id."},"children":[]}]}]}]},"executor_id":{"type":"integer","format":"int64","nullable":true},"executor_name":{"type":"string","nullable":true},"service_name":{"type":"string","nullable":true},"client_id":{"type":"integer","format":"int64"},"client_name":{"type":"string","nullable":true},"client_phone":{"type":"string","nullable":true},"city":{"type":"string","nullable":true},"paid_at":{"type":"string","format":"date-time","nullable":true},"start_at":{"type":"string","format":"date-time"},"service_price":{"type":"integer","format":"int32","nullable":true},"status":{"$ref":"#/components/schemas/AdminRecordStatus"},"comment":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Единственное пояснение к отображаемому статусу. Для BOOKED и COMPLETED равно null."},"children":[]}]}]}]}}}},"components/schemas/AdminRecordStatus":{"id":"components/schemas/AdminRecordStatus","kind":"json-schema","title":"AdminRecordStatus","data":{"type":"string","enum":["BOOKED","WAITING_ACTION","COMPLETED","CANCELED"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Статус для админки; внутренний WAITING_FOR_PAYMENT не публикуется."},"children":[]}]}]}]}},"components/schemas/AdminAvailableCategoriesResponse":{"id":"components/schemas/AdminAvailableCategoriesResponse","kind":"json-schema","title":"AdminAvailableCategoriesResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/AdminAvailableCategory"}}}}},"components/schemas/AdminAvailableCategory":{"id":"components/schemas/AdminAvailableCategory","kind":"json-schema","title":"AdminAvailableCategory","data":{"type":"object","additionalProperties":false,"required":["category_id","name"],"properties":{"category_id":{"type":"integer","format":"int64","minimum":1},"name":{"type":"string"}}}},"components/schemas/AdminMasterProfileResponse":{"id":"components/schemas/AdminMasterProfileResponse","kind":"json-schema","title":"AdminMasterProfileResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"$ref":"#/components/schemas/AdminMasterProfile"}}}},"components/schemas/AdminMasterProfile":{"id":"components/schemas/AdminMasterProfile","kind":"json-schema","title":"AdminMasterProfile","data":{"type":"object","additionalProperties":false,"required":["user_id","avatar","first_name","last_name","city","experience_years","description","example_work_images","categories","service_locations","interior_description","interior_images","min_booking_lead_time_minutes","break_after_service_min","status","block_reason","blocked_by"],"properties":{"user_id":{"type":"integer","format":"int64"},"avatar":{"type":"integer","format":"int64","nullable":true,"readOnly":true},"first_name":{"type":"string","nullable":true},"last_name":{"type":"string","nullable":true},"city":{"type":"string","nullable":true},"experience_years":{"type":"integer","format":"int64","nullable":true},"description":{"type":"string","nullable":true},"example_work_images":{"type":"array","readOnly":true,"items":{"type":"integer","format":"int64"}},"categories":{"type":"array","items":{"$ref":"#/components/schemas/AdminMasterCategory"}},"service_locations":{"type":"array","items":{"$ref":"#/components/schemas/AdminMasterServiceLocation"}},"interior_description":{"type":"string","nullable":true},"interior_images":{"type":"array","readOnly":true,"items":{"type":"integer","format":"int64"}},"min_booking_lead_time_minutes":{"type":"integer","nullable":true,"minimum":0,"maximum":360},"break_after_service_min":{"type":"integer","nullable":true,"minimum":0,"maximum":300},"status":{"type":"string","enum":["ACTIVE","BLOCKED"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Текущее состояние учётной записи мастера."},"children":[]}]}]}]},"block_reason":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Причина текущей блокировки; "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если мастер активен."},"children":[]}]}]}]},"blocked_by":{"allOf":[{"$ref":"#/components/schemas/AdminBlockedBy"}],"nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Администратор, заблокировавший мастера; "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если мастер активен."},"children":[]}]}]}]}}}},"components/schemas/AdminMasterCategory":{"id":"components/schemas/AdminMasterCategory","kind":"json-schema","title":"AdminMasterCategory","data":{"type":"object","additionalProperties":false,"required":["id","name"],"properties":{"id":{"type":"integer","format":"int64","minimum":1},"name":{"type":"string"}}}},"components/schemas/AdminMasterServiceLocation":{"id":"components/schemas/AdminMasterServiceLocation","kind":"json-schema","title":"AdminMasterServiceLocation","data":{"type":"object","additionalProperties":false,"required":["service_location"],"properties":{"service_location":{"type":"string","enum":["IN_SALON","AT_MASTER_PLACE","CLIENT_PLACE"]},"salon_name":{"type":"string","nullable":true,"maxLength":255},"address":{"type":"string","nullable":true,"maxLength":1000},"geolocation":{"allOf":[{"$ref":"#/components/schemas/ProfileGeolocation"}],"nullable":true},"radius_km":{"type":"integer","nullable":true,"enum":[1,5,10,20]}}}},"components/schemas/AdminMasterUpdateRequest":{"id":"components/schemas/AdminMasterUpdateRequest","kind":"json-schema","title":"AdminMasterUpdateRequest","data":{"type":"object","additionalProperties":false,"minProperties":1,"properties":{"first_name":{"type":"string","minLength":1,"maxLength":100},"last_name":{"type":"string","minLength":1,"maxLength":100},"city":{"type":"string","minLength":1,"maxLength":30},"experience_years":{"type":"integer","format":"int64","minimum":0,"maximum":60},"description":{"type":"string","minLength":1,"maxLength":1000},"category_ids":{"type":"array","uniqueItems":true,"items":{"type":"integer","format":"int64","minimum":1}},"service_locations":{"type":"array","minItems":1,"maxItems":3,"items":{"$ref":"#/components/schemas/AdminMasterServiceLocation"}},"interior_description":{"type":"string","minLength":1,"maxLength":1000},"min_booking_lead_time_minutes":{"type":"integer","minimum":0,"maximum":360},"break_after_service_min":{"type":"integer","minimum":0,"maximum":300}}}},"components/schemas/AdminSalonProfileResponse":{"id":"components/schemas/AdminSalonProfileResponse","kind":"json-schema","title":"AdminSalonProfileResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"$ref":"#/components/schemas/AdminSalonProfile"}}}},"components/schemas/AdminSalonProfile":{"id":"components/schemas/AdminSalonProfile","kind":"json-schema","title":"AdminSalonProfile","data":{"type":"object","additionalProperties":false,"required":["salon_id","name","city","address","geolocation","contact_phone","cover_photo_id","categories","description","interior_description","interior_images","working_days","status","block_reason","blocked_by"],"properties":{"salon_id":{"type":"integer","format":"int64"},"name":{"type":"string","nullable":true},"city":{"type":"string","nullable":true},"address":{"type":"string","nullable":true},"geolocation":{"allOf":[{"$ref":"#/components/schemas/ProfileGeolocation"}],"nullable":true},"contact_phone":{"type":"string","nullable":true},"cover_photo_id":{"type":"integer","format":"int64","nullable":true,"readOnly":true},"categories":{"type":"array","items":{"$ref":"#/components/schemas/AdminSalonCategory"}},"description":{"type":"string","nullable":true},"interior_description":{"type":"string","nullable":true},"interior_images":{"type":"array","readOnly":true,"items":{"type":"integer","format":"int64"}},"working_days":{"type":"array","items":{"$ref":"#/components/schemas/AdminSalonWorkingDay"}},"status":{"type":"string","enum":["ACTIVE","BLOCKED"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Состояние учётной записи владельца салона."},"children":[]}]}]}]},"block_reason":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Причина текущей блокировки владельца; "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если салон активен."},"children":[]}]}]}]},"blocked_by":{"allOf":[{"$ref":"#/components/schemas/AdminBlockedBy"}],"nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Администратор, заблокировавший владельца салона; "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", если салон активен."},"children":[]}]}]}]}}}},"components/schemas/AdminSalonCategory":{"id":"components/schemas/AdminSalonCategory","kind":"json-schema","title":"AdminSalonCategory","data":{"type":"object","additionalProperties":false,"required":["id","name"],"properties":{"id":{"type":"integer","format":"int64","minimum":1},"name":{"type":"string"}}}},"components/schemas/AdminSalonWorkingDay":{"id":"components/schemas/AdminSalonWorkingDay","kind":"json-schema","title":"AdminSalonWorkingDay","data":{"type":"object","additionalProperties":false,"required":["day_of_week","working"],"properties":{"day_of_week":{"type":"string","enum":["MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY","SATURDAY","SUNDAY"]},"working":{"type":"boolean"},"start_time":{"type":"string","pattern":"^([01]\\\\d|2[0-3]):[0-5]\\\\d$","nullable":true},"end_time":{"type":"string","pattern":"^([01]\\\\d|2[0-3]):[0-5]\\\\d$","nullable":true}}}},"components/schemas/AdminSalonUpdateRequest":{"id":"components/schemas/AdminSalonUpdateRequest","kind":"json-schema","title":"AdminSalonUpdateRequest","data":{"type":"object","additionalProperties":false,"minProperties":1,"properties":{"name":{"type":"string","minLength":1,"maxLength":100},"city":{"type":"string","minLength":1,"maxLength":30},"address":{"type":"string","minLength":1,"maxLength":1000},"geolocation":{"$ref":"#/components/schemas/ProfileGeolocation"},"contact_phone":{"type":"string","minLength":1,"maxLength":32},"description":{"type":"string","minLength":1,"maxLength":1000},"interior_description":{"type":"string","minLength":1,"maxLength":1000},"category_ids":{"type":"array","uniqueItems":true,"items":{"type":"integer","format":"int64","minimum":1}},"working_days":{"type":"array","minItems":7,"maxItems":7,"items":{"$ref":"#/components/schemas/AdminSalonWorkingDay"}}}}},"components/schemas/AdminMasterSalonStatsResponse":{"id":"components/schemas/AdminMasterSalonStatsResponse","kind":"json-schema","title":"AdminMasterSalonStatsResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"$ref":"#/components/schemas/AdminMasterSalonStatsData"}}}},"components/schemas/AdminMasterSalonStatsData":{"id":"components/schemas/AdminMasterSalonStatsData","kind":"json-schema","title":"AdminMasterSalonStatsData","data":{"type":"object","required":["period","total_masters","total_masters_change_percent","total_salons","total_salons_change_percent","active_masters","active_salons","blocked_masters","blocked_salons"],"properties":{"period":{"$ref":"#/components/schemas/AdminMasterSalonStatsPeriod"},"total_masters":{"type":"integer","format":"int64"},"total_masters_change_percent":{"type":"number","format":"double","nullable":true},"total_salons":{"type":"integer","format":"int64"},"total_salons_change_percent":{"type":"number","format":"double","nullable":true},"active_masters":{"type":"integer","format":"int64"},"active_salons":{"type":"integer","format":"int64"},"blocked_masters":{"type":"integer","format":"int64"},"blocked_salons":{"type":"integer","format":"int64"}}}},"components/schemas/AdminMasterSalonStatsPeriod":{"id":"components/schemas/AdminMasterSalonStatsPeriod","kind":"json-schema","title":"AdminMasterSalonStatsPeriod","data":{"type":"object","required":["from","to","previous_from","previous_to"],"properties":{"from":{"type":"string","format":"date"},"to":{"type":"string","format":"date"},"previous_from":{"type":"string","format":"date"},"previous_to":{"type":"string","format":"date"}}}},"components/schemas/AdminMasterSalonListResponse":{"id":"components/schemas/AdminMasterSalonListResponse","kind":"json-schema","title":"AdminMasterSalonListResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"$ref":"#/components/schemas/AdminMasterSalonListData"}}}},"components/schemas/AdminMasterSalonListData":{"id":"components/schemas/AdminMasterSalonListData","kind":"json-schema","title":"AdminMasterSalonListData","data":{"type":"object","required":["period","items","offset","limit","has_more"],"properties":{"period":{"$ref":"#/components/schemas/AdminMasterSalonListPeriod"},"items":{"type":"array","items":{"$ref":"#/components/schemas/AdminMasterSalonListItem"}},"offset":{"type":"integer","minimum":0},"limit":{"type":"integer","minimum":1,"maximum":100},"has_more":{"type":"boolean"}}}},"components/schemas/AdminMasterSalonListPeriod":{"id":"components/schemas/AdminMasterSalonListPeriod","kind":"json-schema","title":"AdminMasterSalonListPeriod","data":{"type":"object","required":["from","to"],"properties":{"from":{"type":"string","format":"date"},"to":{"type":"string","format":"date"}}}},"components/schemas/AdminMasterSalonListItem":{"id":"components/schemas/AdminMasterSalonListItem","kind":"json-schema","title":"AdminMasterSalonListItem","data":{"type":"object","required":["id","name","phone","avatar","role","city","salonId","salonName","rating","reviews_count","income_amount","registeredAt","status","blockedAt","blockReason"],"properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string","nullable":true},"phone":{"type":"string","nullable":true},"avatar":{"type":"integer","format":"int64","nullable":true},"role":{"type":"string","enum":["MASTER","SALON"]},"city":{"type":"string","nullable":true},"salonId":{"type":"integer","format":"int64","nullable":true},"salonName":{"type":"string","nullable":true},"rating":{"type":"number","format":"double","nullable":true},"reviews_count":{"type":"integer","format":"int64","nullable":true},"income_amount":{"type":"integer","format":"int64","nullable":true},"registeredAt":{"type":"string","format":"date-time","nullable":true},"status":{"type":"string","enum":["ACTIVE","INACTIVE","BLOCKED"]},"blockedAt":{"type":"string","format":"date-time","nullable":true},"blockReason":{"type":"string","nullable":true}}}},"components/schemas/AdminClientBlockResponse":{"id":"components/schemas/AdminClientBlockResponse","kind":"json-schema","title":"AdminClientBlockResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"type":"object","required":["blocked","client_id"],"properties":{"blocked":{"type":"boolean"},"client_id":{"type":"integer","format":"int64"}}}}}},"components/schemas/AdminMasterBlockResponse":{"id":"components/schemas/AdminMasterBlockResponse","kind":"json-schema","title":"AdminMasterBlockResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"type":"object","required":["blocked","master_id"],"properties":{"blocked":{"type":"boolean"},"master_id":{"type":"integer","format":"int64"}}}}}},"components/schemas/AdminSalonBlockResponse":{"id":"components/schemas/AdminSalonBlockResponse","kind":"json-schema","title":"AdminSalonBlockResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"}],"properties":{"data":{"type":"object","required":["blocked","salon_id"],"properties":{"blocked":{"type":"boolean"},"salon_id":{"type":"integer","format":"int64"}}}}}},"components/schemas/SupportCaseStatus":{"id":"components/schemas/SupportCaseStatus","kind":"json-schema","title":"SupportCaseStatus","data":{"type":"string","enum":["OPEN","CLOSED","UNREAD"]}},"components/schemas/SupportSendMessageBody":{"id":"components/schemas/SupportSendMessageBody","kind":"json-schema","title":"SupportSendMessageBody","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Должно быть передано хотя бы одно непустое поле: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"text"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" или "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"file_ids"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Все файлы должны иметь purpose "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"MESSAGE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и принадлежать отправителю."},"children":[]}]}]}],"properties":{"text":{"type":"string","nullable":true,"maxLength":4000},"file_ids":{"type":"array","nullable":true,"maxItems":10,"items":{"type":"integer","format":"int64","minimum":1}},"reply_message_id":{"type":"integer","format":"int64","minimum":1,"nullable":true}}}},"components/schemas/AdminSupportWsSendMessageBody":{"id":"components/schemas/AdminSupportWsSendMessageBody","kind":"json-schema","title":"AdminSupportWsSendMessageBody","data":{"allOf":[{"$ref":"#/components/schemas/SupportSendMessageBody"},{"type":"object","required":["dialog_id"],"properties":{"dialog_id":{"type":"integer","format":"int64","minimum":1}}}]}},"components/schemas/SupportResolutionResponseBody":{"id":"components/schemas/SupportResolutionResponseBody","kind":"json-schema","title":"SupportResolutionResponseBody","data":{"type":"object","required":["case_id","resolved"],"properties":{"case_id":{"type":"integer","format":"int64","minimum":1},"resolved":{"type":"boolean"}}}},"components/schemas/AdminSupportReadBody":{"id":"components/schemas/AdminSupportReadBody","kind":"json-schema","title":"AdminSupportReadBody","data":{"type":"object","required":["last_message_id"],"properties":{"last_message_id":{"type":"integer","format":"int64","minimum":1}}}},"components/schemas/SupportUserChat":{"id":"components/schemas/SupportUserChat","kind":"json-schema","title":"SupportUserChat","data":{"type":"object","required":["unread_count","support_name","chat_interlocutor","participants","is_online"],"properties":{"dialog_id":{"type":"integer","format":"int64","nullable":true},"case_id":{"type":"integer","format":"int64","nullable":true},"status":{"allOf":[{"$ref":"#/components/schemas/SupportCaseStatus"}],"nullable":true},"resolution_requested_at":{"type":"string","format":"date-time","nullable":true},"unread_count":{"type":"integer","format":"int64","minimum":0},"support_name":{"type":"string","example":"Служба заботы Felmee"},"chat_interlocutor":{"$ref":"#/components/schemas/DialogUserDTO"},"participants":{"type":"array","items":{"type":"integer","format":"int64"}},"last_message":{"allOf":[{"$ref":"#/components/schemas/MessageResponse"}],"nullable":true},"is_online":{"type":"boolean","example":false}}}},"components/schemas/SupportClient":{"id":"components/schemas/SupportClient","kind":"json-schema","title":"SupportClient","data":{"type":"object","required":["id"],"properties":{"id":{"type":"integer","format":"int64"},"first_name":{"type":"string","nullable":true},"last_name":{"type":"string","nullable":true},"phone":{"type":"string","nullable":true},"avatar_id":{"type":"integer","format":"int64","nullable":true}}}},"components/schemas/AdminSupportChat":{"id":"components/schemas/AdminSupportChat","kind":"json-schema","title":"AdminSupportChat","data":{"type":"object","required":["dialog_id","case_id","client","status","opened_at","unread_count"],"properties":{"dialog_id":{"type":"integer","format":"int64"},"case_id":{"type":"integer","format":"int64"},"client":{"$ref":"#/components/schemas/SupportClient"},"status":{"$ref":"#/components/schemas/SupportCaseStatus"},"resolution_requested_at":{"type":"string","format":"date-time","nullable":true},"opened_at":{"type":"string","format":"date-time"},"closed_at":{"type":"string","format":"date-time","nullable":true},"unread_count":{"type":"integer","format":"int64","minimum":0},"last_message":{"allOf":[{"$ref":"#/components/schemas/MessageResponse"}],"nullable":true}}}},"components/schemas/AdminSupportChatList":{"id":"components/schemas/AdminSupportChatList","kind":"json-schema","title":"AdminSupportChatList","data":{"type":"object","required":["chats","offset","limit","has_more"],"properties":{"chats":{"type":"array","items":{"$ref":"#/components/schemas/AdminSupportChat"}},"offset":{"type":"integer","minimum":0},"limit":{"type":"integer","minimum":1,"maximum":100},"has_more":{"type":"boolean"}}}},"components/schemas/SupportMessagePage":{"id":"components/schemas/SupportMessagePage","kind":"json-schema","title":"SupportMessagePage","data":{"type":"object","required":["messages","limit","has_more"],"properties":{"messages":{"type":"array","items":{"$ref":"#/components/schemas/MessageResponse"}},"offset":{"type":"integer","nullable":true,"minimum":0},"limit":{"type":"integer","minimum":1,"maximum":100},"has_more":{"type":"boolean"},"next_before_id":{"type":"integer","format":"int64","nullable":true}}}},"components/schemas/SupportSendResult":{"id":"components/schemas/SupportSendResult","kind":"json-schema","title":"SupportSendResult","data":{"type":"object","required":["dialog_id","case_id","messages"],"properties":{"dialog_id":{"type":"integer","format":"int64"},"case_id":{"type":"integer","format":"int64"},"messages":{"type":"array","items":{"$ref":"#/components/schemas/MessageResponse"}}}}},"components/schemas/SupportStatusWsResponse":{"id":"components/schemas/SupportStatusWsResponse","kind":"json-schema","title":"SupportStatusWsResponse","data":{"type":"object","required":["dialog_id","case_id","status"],"properties":{"dialog_id":{"type":"integer","format":"int64"},"case_id":{"type":"integer","format":"int64"},"status":{"$ref":"#/components/schemas/SupportCaseStatus"},"resolution_requested_at":{"type":"string","format":"date-time","nullable":true}}}},"components/schemas/SupportAdminMessagesWsResponse":{"id":"components/schemas/SupportAdminMessagesWsResponse","kind":"json-schema","title":"SupportAdminMessagesWsResponse","data":{"type":"object","required":["dialog_id","case_id","messages"],"properties":{"dialog_id":{"type":"integer","format":"int64"},"case_id":{"type":"integer","format":"int64"},"messages":{"type":"array","items":{"$ref":"#/components/schemas/MessageResponse"}}}}},"components/schemas/SupportUserChatResponse":{"id":"components/schemas/SupportUserChatResponse","kind":"json-schema","title":"SupportUserChatResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"},{"type":"object","properties":{"data":{"$ref":"#/components/schemas/SupportUserChat"}}}]}},"components/schemas/SupportSendResponse":{"id":"components/schemas/SupportSendResponse","kind":"json-schema","title":"SupportSendResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"},{"type":"object","properties":{"data":{"$ref":"#/components/schemas/SupportSendResult"}}}]}},"components/schemas/AdminSupportChatResponse":{"id":"components/schemas/AdminSupportChatResponse","kind":"json-schema","title":"AdminSupportChatResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"},{"type":"object","properties":{"data":{"$ref":"#/components/schemas/AdminSupportChat"}}}]}},"components/schemas/AdminSupportChatListResponse":{"id":"components/schemas/AdminSupportChatListResponse","kind":"json-schema","title":"AdminSupportChatListResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"},{"type":"object","properties":{"data":{"$ref":"#/components/schemas/AdminSupportChatList"}}}]}},"components/schemas/AdminSupportMessagePageResponse":{"id":"components/schemas/AdminSupportMessagePageResponse","kind":"json-schema","title":"AdminSupportMessagePageResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"},{"type":"object","properties":{"data":{"$ref":"#/components/schemas/SupportMessagePage"}}}]}},"components/schemas/AdminSupportReadResponse":{"id":"components/schemas/AdminSupportReadResponse","kind":"json-schema","title":"AdminSupportReadResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"},{"type":"object","properties":{"data":{"type":"object","required":["updated"],"properties":{"updated":{"type":"integer","format":"int64","minimum":0}}}}}]}},"components/schemas/ComplaintSubjectType":{"id":"components/schemas/ComplaintSubjectType","kind":"json-schema","title":"ComplaintSubjectType","data":{"type":"string","enum":["USER","MASTER","SALON","SERVICE","REVIEW"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Тип объекта жалобы: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"USER"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — клиент, "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"MASTER"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — мастер, "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SALON"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — салон,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SERVICE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — услуга, "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"REVIEW"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — отзыв."},"children":[]}]}]}]}},"components/schemas/ComplaintStatus":{"id":"components/schemas/ComplaintStatus","kind":"json-schema","title":"ComplaintStatus","data":{"type":"string","enum":["OPEN","CLOSED"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"OPEN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — ожидает решения; "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CLOSED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — решение уже вынесено."},"children":[]}]}]}]}},"components/schemas/ComplaintResolution":{"id":"components/schemas/ComplaintResolution","kind":"json-schema","title":"ComplaintResolution","data":{"type":"string","enum":["BLOCK_USER","REPRIMAND_USER","BLOCK_MASTER","REPRIMAND_MASTER","BLOCK_SALON","REPRIMAND_SALON","DELETE_SERVICE","DELETE_REVIEW","NO_VIOLATION","SUBJECT_UNAVAILABLE"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Действие по жалобе. Допустимый набор зависит от "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"subject.type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"subject.available"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":":"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"USER"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"BLOCK_USER"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"REPRIMAND_USER"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"NO_VIOLATION"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":";"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"MASTER"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"BLOCK_MASTER"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"REPRIMAND_MASTER"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"NO_VIOLATION"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":";"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SALON"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"BLOCK_SALON"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"REPRIMAND_SALON"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"NO_VIOLATION"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":";"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"доступная "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SERVICE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"DELETE_SERVICE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"NO_VIOLATION"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":";"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"доступный "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"REVIEW"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"DELETE_REVIEW"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"NO_VIOLATION"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":";"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"недоступная "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SERVICE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" или "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"REVIEW"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SUBJECT_UNAVAILABLE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"NO_VIOLATION"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}},"components/schemas/CreateTestComplaintBody":{"id":"components/schemas/CreateTestComplaintBody","kind":"json-schema","title":"CreateTestComplaintBody","data":{"type":"object","required":["subject_type","subject_id","reason"],"properties":{"subject_type":{"allOf":[{"$ref":"#/components/schemas/ComplaintSubjectType"}],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Тип реально существующего объекта тестовой жалобы."},"children":[]}]}]}]},"subject_id":{"type":"integer","format":"int64","minimum":1,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID объекта выбранного типа"},"children":[]}]}]}]},"reason":{"type":"string","minLength":1,"maxLength":2000,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Причина или текст тестовой жалобы"},"children":[]}]}]}]}}}},"components/schemas/ResolveComplaintBody":{"id":"components/schemas/ResolveComplaintBody","kind":"json-schema","title":"ResolveComplaintBody","data":{"type":"object","required":["resolution","reporter_message","subject_message","comment"],"properties":{"resolution":{"$ref":"#/components/schemas/ComplaintResolution"},"reporter_message":{"type":"string","minLength":1,"maxLength":500,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Текст заявителю; отправляется в его чат от имени поддержки."},"children":[]}]}]}]},"subject_message":{"type":"string","minLength":1,"maxLength":500,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Текст участнику, на которого пожаловались; отправляется в его чат от имени поддержки."},"children":[]}]}]}]},"comment":{"type":"string","minLength":1,"maxLength":500,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Внутренний комментарий администратора; пользователям не отправляется."},"children":[]}]}]}]}}}},"components/schemas/ComplaintResolutionTemplate":{"id":"components/schemas/ComplaintResolutionTemplate","kind":"json-schema","title":"ComplaintResolutionTemplate","data":{"type":"object","required":["resolution","reporter_message","subject_message","comment"],"properties":{"resolution":{"$ref":"#/components/schemas/ComplaintResolution"},"reporter_message":{"type":"string","minLength":1,"maxLength":500,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Текст по умолчанию для заявителя"},"children":[]}]}]}]},"subject_message":{"type":"string","minLength":1,"maxLength":500,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Текст по умолчанию для адресата жалобы"},"children":[]}]}]}]},"comment":{"type":"string","minLength":1,"maxLength":500,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Внутренний комментарий по умолчанию"},"children":[]}]}]}]}}}},"components/schemas/ComplaintResolutionTemplates":{"id":"components/schemas/ComplaintResolutionTemplates","kind":"json-schema","title":"ComplaintResolutionTemplates","data":{"type":"object","required":["complaint_id","items"],"properties":{"complaint_id":{"type":"integer","format":"int64"},"items":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Для закрытой жалобы массив пуст; для открытой содержит только допустимые сейчас решения."},"children":[]}]}]}],"items":{"$ref":"#/components/schemas/ComplaintResolutionTemplate"}}}}},"components/schemas/ComplaintReviewer":{"id":"components/schemas/ComplaintReviewer","kind":"json-schema","title":"ComplaintReviewer","data":{"type":"object","required":["user_id","first_name","last_name"],"properties":{"user_id":{"type":"integer","format":"int64"},"first_name":{"type":"string","nullable":true},"last_name":{"type":"string","nullable":true}}}},"components/schemas/ComplaintParticipant":{"id":"components/schemas/ComplaintParticipant","kind":"json-schema","title":"ComplaintParticipant","data":{"type":"object","required":["user_id","name","full_name","avatar","account_type"],"properties":{"user_id":{"type":"integer","format":"int64","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID заявителя; для системной тестовой жалобы равен -2"},"children":[]}]}]}]},"name":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Отображаемое имя заявителя"},"children":[]}]}]}]},"full_name":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Полное имя заявителя"},"children":[]}]}]}]},"avatar":{"type":"integer","format":"int64","nullable":true},"account_type":{"type":"string","nullable":true}}}},"components/schemas/ComplaintTarget":{"id":"components/schemas/ComplaintTarget","kind":"json-schema","title":"ComplaintTarget","data":{"type":"object","required":["subject_id","type","name","full_name","avatar","salon_id","owner_user_id","available"],"properties":{"subject_id":{"type":"integer","format":"int64"},"type":{"$ref":"#/components/schemas/ComplaintSubjectType"},"name":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Отображаемое имя участника или название объекта жалобы"},"children":[]}]}]}]},"full_name":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ФИО участника"},"children":[]}]}]}],"на которого подана жалоба":null},"avatar":{"type":"integer","format":"int64","nullable":true},"salon_id":{"type":"integer","format":"int64","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID салона для жалобы на салон либо связанный с салоном сервис/отзыв; не подменяется ID владельца"},"children":[]}]}]}]},"owner_user_id":{"type":"integer","format":"int64","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID пользователя"},"children":[]}]}]}],"которому отправляется subject_message":null},"available":{"type":"boolean","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Существует ли объект жалобы сейчас"},"children":[]}]}]}]}}}},"components/schemas/ComplaintReviewSnapshot":{"id":"components/schemas/ComplaintReviewSnapshot","kind":"json-schema","title":"ComplaintReviewSnapshot","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Неизменяемый снимок отзыва на момент создания жалобы; сохраняется после удаления исходного отзыва."},"children":[]}]}]}],"required":["review_id","available","author_user_id","author_full_name","author_avatar_id","service_record_id","provider_user_id","executor_user_id","rating","liked_text","disliked_text","comment","tags","media_ids","created_at"],"properties":{"review_id":{"type":"integer","format":"int64"},"available":{"type":"boolean","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Существует ли исходный отзыв сейчас"},"children":[]}]}]}]},"author_user_id":{"type":"integer","format":"int64"},"author_full_name":{"type":"string","nullable":true},"author_avatar_id":{"type":"integer","format":"int64","nullable":true},"service_record_id":{"type":"integer","format":"int64"},"provider_user_id":{"type":"integer","format":"int64"},"executor_user_id":{"type":"integer","format":"int64"},"rating":{"type":"integer","minimum":1,"maximum":5,"nullable":true},"liked_text":{"type":"string","nullable":true},"disliked_text":{"type":"string","nullable":true},"comment":{"type":"string","nullable":true},"tags":{"type":"array","items":{"type":"string"}},"media_ids":{"type":"array","items":{"type":"integer","format":"int64"}},"created_at":{"type":"string","format":"date-time","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Дата создания исходного отзыва"},"children":[]}]}]}]}}}},"components/schemas/ComplaintServiceSnapshot":{"id":"components/schemas/ComplaintServiceSnapshot","kind":"json-schema","title":"ComplaintServiceSnapshot","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Неизменяемый снимок услуги на момент создания жалобы; сохраняется после удаления исходной услуги."},"children":[]}]}]}],"required":["service_id","available","service_name","description","price","duration","provider_user_id","provider_full_name","salon_id","salon_owner_user_id","salon_name","image_ids"],"properties":{"service_id":{"type":"integer","format":"int64"},"available":{"type":"boolean","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Существует ли исходная услуга сейчас"},"children":[]}]}]}]},"service_name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"price":{"type":"integer","minimum":0,"nullable":true},"duration":{"type":"integer","minimum":0,"nullable":true},"provider_user_id":{"type":"integer","format":"int64"},"provider_full_name":{"type":"string","nullable":true},"salon_id":{"type":"integer","format":"int64","nullable":true},"salon_owner_user_id":{"type":"integer","format":"int64","nullable":true},"salon_name":{"type":"string","nullable":true},"image_ids":{"type":"array","items":{"type":"integer","format":"int64"}}}}},"components/schemas/ComplaintListItem":{"id":"components/schemas/ComplaintListItem","kind":"json-schema","title":"ComplaintListItem","data":{"type":"object","required":["complaint_id","status","reason","created_at","resolved_at","reporter","subject","resolution","resolution_comment","resolved_by"],"properties":{"complaint_id":{"type":"integer","format":"int64"},"status":{"$ref":"#/components/schemas/ComplaintStatus"},"reason":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"resolved_at":{"type":"string","format":"date-time","nullable":true},"reporter":{"$ref":"#/components/schemas/ComplaintParticipant"},"subject":{"$ref":"#/components/schemas/ComplaintTarget"},"resolution":{"allOf":[{"$ref":"#/components/schemas/ComplaintResolution"}],"nullable":true},"resolution_comment":{"type":"string","nullable":true},"resolved_by":{"allOf":[{"$ref":"#/components/schemas/ComplaintReviewer"}],"nullable":true}}}},"components/schemas/ComplaintPage":{"id":"components/schemas/ComplaintPage","kind":"json-schema","title":"ComplaintPage","data":{"type":"object","required":["items","offset","limit","has_more"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ComplaintListItem"}},"offset":{"type":"integer","minimum":0},"limit":{"type":"integer","minimum":1,"maximum":100},"has_more":{"type":"boolean"}}}},"components/schemas/ComplaintDetails":{"id":"components/schemas/ComplaintDetails","kind":"json-schema","title":"ComplaintDetails","data":{"allOf":[{"$ref":"#/components/schemas/ComplaintListItem"},{"type":"object","required":["review_snapshot","service_snapshot","available_resolutions","reporter_message","subject_message"],"properties":{"review_snapshot":{"allOf":[{"$ref":"#/components/schemas/ComplaintReviewSnapshot"}],"nullable":true},"service_snapshot":{"allOf":[{"$ref":"#/components/schemas/ComplaintServiceSnapshot"}],"nullable":true},"available_resolutions":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Допустимые действия с учётом типа, доступности объекта и статуса жалобы; для CLOSED всегда пусто."},"children":[]}]}]}],"items":{"$ref":"#/components/schemas/ComplaintResolution"}},"reporter_message":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Фактически отправленный текст заявителю"},"children":[]}]}]}]},"subject_message":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Фактически отправленный текст адресату жалобы"},"children":[]}]}]}]}}}]}},"components/schemas/ComplaintStats":{"id":"components/schemas/ComplaintStats","kind":"json-schema","title":"ComplaintStats","data":{"type":"object","required":["period","total_complaints","total_complaints_change_percent","open_complaints","open_complaints_change_percent","closed_complaints","closed_complaints_change_percent","average_resolution_days"],"properties":{"period":{"type":"object","required":["from","to","previous_from","previous_to"],"properties":{"from":{"type":"string","format":"date"},"to":{"type":"string","format":"date"},"previous_from":{"type":"string","format":"date"},"previous_to":{"type":"string","format":"date"}}},"total_complaints":{"type":"integer","format":"int64","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Количество жалоб, созданных в выбранном периоде."},"children":[]}]}]}]},"total_complaints_change_percent":{"type":"number","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Изменение количества созданных жалоб относительно предыдущего периода такой же продолжительности, в процентах."},"children":[]}]}]}]},"open_complaints":{"type":"integer","format":"int64"},"open_complaints_change_percent":{"type":"number"},"closed_complaints":{"type":"integer","format":"int64"},"closed_complaints_change_percent":{"type":"number"},"average_resolution_days":{"type":"number"}}}},"components/schemas/ComplaintCreation":{"id":"components/schemas/ComplaintCreation","kind":"json-schema","title":"ComplaintCreation","data":{"type":"object","required":["complaint_id","status","reporter_user_id","subject_type","subject_id","reason","created_at"],"properties":{"complaint_id":{"type":"integer","format":"int64"},"status":{"$ref":"#/components/schemas/ComplaintStatus"},"reporter_user_id":{"type":"integer","format":"int64","example":-2},"subject_type":{"$ref":"#/components/schemas/ComplaintSubjectType"},"subject_id":{"type":"integer","format":"int64"},"reason":{"type":"string"},"created_at":{"type":"string","format":"date-time"}}}},"components/schemas/ComplaintResolutionResult":{"id":"components/schemas/ComplaintResolutionResult","kind":"json-schema","title":"ComplaintResolutionResult","data":{"type":"object","required":["complaint_id","status","resolution","reporter_message","subject_message","resolution_comment","resolved_at","resolved_by"],"properties":{"complaint_id":{"type":"integer","format":"int64"},"status":{"$ref":"#/components/schemas/ComplaintStatus"},"resolution":{"$ref":"#/components/schemas/ComplaintResolution"},"reporter_message":{"type":"string"},"subject_message":{"type":"string"},"resolution_comment":{"type":"string"},"resolved_at":{"type":"string","format":"date-time"},"resolved_by":{"$ref":"#/components/schemas/ComplaintReviewer"}}}},"components/schemas/AdminComplaintStatsApiResponse":{"id":"components/schemas/AdminComplaintStatsApiResponse","kind":"json-schema","title":"AdminComplaintStatsApiResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"},{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ComplaintStats"}}}]}},"components/schemas/AdminComplaintListApiResponse":{"id":"components/schemas/AdminComplaintListApiResponse","kind":"json-schema","title":"AdminComplaintListApiResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"},{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ComplaintPage"}}}]}},"components/schemas/AdminComplaintDetailsApiResponse":{"id":"components/schemas/AdminComplaintDetailsApiResponse","kind":"json-schema","title":"AdminComplaintDetailsApiResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"},{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ComplaintDetails"}}}]}},"components/schemas/AdminComplaintCreationApiResponse":{"id":"components/schemas/AdminComplaintCreationApiResponse","kind":"json-schema","title":"AdminComplaintCreationApiResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"},{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ComplaintCreation"}}}]}},"components/schemas/AdminComplaintResolutionApiResponse":{"id":"components/schemas/AdminComplaintResolutionApiResponse","kind":"json-schema","title":"AdminComplaintResolutionApiResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"},{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ComplaintResolutionResult"}}}]}},"components/schemas/AdminComplaintResolutionTemplatesApiResponse":{"id":"components/schemas/AdminComplaintResolutionTemplatesApiResponse","kind":"json-schema","title":"AdminComplaintResolutionTemplatesApiResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"},{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ComplaintResolutionTemplates"}}}]}},"components/schemas/AdminActionActor":{"id":"components/schemas/AdminActionActor","kind":"json-schema","title":"AdminActionActor","data":{"type":"object","required":["user_id","first_name"],"properties":{"user_id":{"type":"integer","format":"int64","nullable":true},"first_name":{"type":"string"},"last_name":{"type":"string","nullable":true}}}},"components/schemas/AdminActionHistoryItem":{"id":"components/schemas/AdminActionHistoryItem","kind":"json-schema","title":"AdminActionHistoryItem","data":{"type":"object","required":["id","created_at","actor","event"],"properties":{"id":{"type":"integer","format":"int64"},"created_at":{"type":"string","format":"date-time"},"actor":{"$ref":"#/components/schemas/AdminActionActor"},"event":{"type":"string","maxLength":1000,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Человекочитаемое описание выполненного административного действия."},"children":[]}]}]}],"example":"Принято решение по жалобе №121 на отзыв: отзыв удалён"}}}},"components/schemas/AdminActionHistoryPage":{"id":"components/schemas/AdminActionHistoryPage","kind":"json-schema","title":"AdminActionHistoryPage","data":{"type":"object","required":["items","offset","limit","has_more"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/AdminActionHistoryItem"}},"offset":{"type":"integer","minimum":0},"limit":{"type":"integer","minimum":1,"maximum":100},"has_more":{"type":"boolean"}}}},"components/schemas/AdminActionHistoryApiResponse":{"id":"components/schemas/AdminActionHistoryApiResponse","kind":"json-schema","title":"AdminActionHistoryApiResponse","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"},{"type":"object","properties":{"data":{"$ref":"#/components/schemas/AdminActionHistoryPage"}}}]}},"components/schemas/BciApiResponse":{"id":"components/schemas/BciApiResponse","kind":"json-schema","title":"BciApiResponse","data":{"type":"object","required":["success","message","codeError","error_code","data"],"properties":{"success":{"type":"boolean"},"message":{"type":"string"},"codeError":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Поле для обратной совместимости; совпадает с error_code."},"children":[]}]}]}]},"error_code":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Ошибка транспорта или валидации в lower_snake_case; при успешной обработке — null."},"children":[]}]}]}]},"data":{"type":"object","nullable":true}}}},"components/schemas/BciErrorApiResponse":{"id":"components/schemas/BciErrorApiResponse","kind":"json-schema","title":"BciErrorApiResponse","data":{"allOf":[{"$ref":"#/components/schemas/BciApiResponse"},{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"data":{"type":"object","nullable":true,"example":null}}}],"example":{"success":false,"message":"Привязка была изменена; загрузите её актуальное состояние.","codeError":"object_modified_by_another_thread","error_code":"object_modified_by_another_thread","data":null}}},"components/schemas/BciProgramApiResponse":{"id":"components/schemas/BciProgramApiResponse","kind":"json-schema","title":"BciProgramApiResponse","data":{"allOf":[{"$ref":"#/components/schemas/BciApiResponse"},{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"$ref":"#/components/schemas/BciBusinessInvitationProgram"}}}]}},"components/schemas/BciClientsApiResponse":{"id":"components/schemas/BciClientsApiResponse","kind":"json-schema","title":"BciClientsApiResponse","data":{"allOf":[{"$ref":"#/components/schemas/BciApiResponse"},{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"$ref":"#/components/schemas/BciInvitedClientPage"}}}]}},"components/schemas/BciClientDetailsApiResponse":{"id":"components/schemas/BciClientDetailsApiResponse","kind":"json-schema","title":"BciClientDetailsApiResponse","data":{"allOf":[{"$ref":"#/components/schemas/BciApiResponse"},{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"$ref":"#/components/schemas/BciInvitedClientDetails"}}}]}},"components/schemas/BciMyBindingApiResponse":{"id":"components/schemas/BciMyBindingApiResponse","kind":"json-schema","title":"BciMyBindingApiResponse","data":{"allOf":[{"$ref":"#/components/schemas/BciApiResponse"},{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"$ref":"#/components/schemas/BciMyBusinessBinding"}}}]}},"components/schemas/BciBusinessRef":{"id":"components/schemas/BciBusinessRef","kind":"json-schema","title":"BciBusinessRef","data":{"type":"object","required":["business_type","provider_user_id","salon_id"],"properties":{"business_type":{"type":"string","enum":["MASTER","SALON"]},"provider_user_id":{"type":"integer","format":"int64","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"master.user_id или текущий salon.owner.user.id; никогда не ID действующего администратора. Для активной программы обязателен и не равен null; в исторических карточках после удаления владельца или аккаунта может быть null, при этом стабильный salon_id сохраняется."},"children":[]}]}]}]},"salon_id":{"type":"integer","format":"int64","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Для SALON обязателен и не равен null; для MASTER равен null. Стабильный внутренний идентификатор салона."},"children":[]}]}]}]}}}},"components/schemas/BciInvitationAttemptSource":{"id":"components/schemas/BciInvitationAttemptSource","kind":"json-schema","title":"BciInvitationAttemptSource","data":{"type":"string","enum":["REGISTRATION","LOGIN"]}},"components/schemas/BciShare":{"id":"components/schemas/BciShare","kind":"json-schema","title":"BciShare","data":{"type":"object","additionalProperties":false,"required":["qr_id","profile_url"],"properties":{"qr_id":{"type":"integer","format":"int64","nullable":true},"profile_url":{"type":"string","format":"uri"}}}},"components/schemas/BciBusinessCard":{"id":"components/schemas/BciBusinessCard","kind":"json-schema","title":"BciBusinessCard","data":{"allOf":[{"$ref":"#/components/schemas/BciBusinessRef"},{"type":"object","required":["name","photo_id","rating","review_count"],"properties":{"name":{"type":"string"},"photo_id":{"type":"integer","format":"int64","nullable":true},"rating":{"type":"number","minimum":0,"maximum":5,"nullable":true},"review_count":{"type":"integer","format":"int64","minimum":0}}}]}},"components/schemas/BciInvitationRules":{"id":"components/schemas/BciInvitationRules","kind":"json-schema","title":"BciInvitationRules","data":{"type":"object","required":["policy_version","visit_window_days","deadline_basis","qualification_trigger","commission_rate_percent","lifetime_until_detach","reattachment_allowed","other_business_visit_consumes_eligibility","quota_limit","client_coupon_granted"],"properties":{"policy_version":{"type":"integer","format":"int64","minimum":1,"example":1},"visit_window_days":{"type":"integer","enum":[70]},"deadline_basis":{"type":"string","enum":["REGISTRATION"]},"qualification_trigger":{"type":"string","enum":["COMPLETED_AT_INVITING_BUSINESS"]},"commission_rate_percent":{"type":"number","enum":[0]},"lifetime_until_detach":{"type":"boolean","enum":[true]},"reattachment_allowed":{"type":"boolean","enum":[false]},"other_business_visit_consumes_eligibility":{"type":"boolean","enum":[false]},"quota_limit":{"type":"integer","enum":[3000]},"client_coupon_granted":{"type":"boolean","enum":[false],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Программа не выдаёт клиенту купон; персональный реферальный код нельзя использовать вместе с приглашением бизнеса."},"children":[]}]}]}]},"terms_version":{"type":"string"}}}},"components/schemas/BciBusinessQuota":{"id":"components/schemas/BciBusinessQuota","kind":"json-schema","title":"BciBusinessQuota","data":{"type":"object","required":["limit","consumed","reserved","remaining"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Транзакционный инвариант: consumed + reserved <= limit. remaining = limit -"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"consumed - reserved. consumed учитывает все когда-либо квалифицированные идентичности"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"и не уменьшается при отвязке; reserved — временно зарезервированная квота."},"children":[]}]}]}],"properties":{"limit":{"type":"integer","enum":[3000]},"consumed":{"type":"integer","minimum":0,"maximum":3000},"reserved":{"type":"integer","minimum":0,"maximum":3000},"remaining":{"type":"integer","minimum":0,"maximum":3000}}}},"components/schemas/BciInvitationCounts":{"id":"components/schemas/BciInvitationCounts","kind":"json-schema","title":"BciInvitationCounts","data":{"type":"object","required":["total_count","registrations_count","qualified","waiting_for_visit","booked","pending","failed","active","detached"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"total_count учитывает уникальные авторизованные идентичности получателей для целевого"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"бизнеса, включая отклонённые попытки LOGIN, но не анонимные переходы и не количество"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"попыток. total_count = qualified + pending + failed; pending = waiting_for_visit + booked."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"active и detached — отдельные состояния привязки, пересекающиеся со счётчиками"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"квалификации; суммировать все поля нельзя. registrations_count учитывает новых"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"зарегистрированных клиентов, принятых этим бизнесом."},"children":[]}]}]}],"properties":{"total_count":{"type":"integer","format":"int64","minimum":0},"registrations_count":{"type":"integer","format":"int64","minimum":0},"qualified":{"type":"integer","format":"int64","minimum":0,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Все когда-либо квалифицированные клиенты, включая отвязавшихся позднее."},"children":[]}]}]}]},"pending":{"type":"integer","format":"int64","minimum":0},"waiting_for_visit":{"type":"integer","format":"int64","minimum":0},"booked":{"type":"integer","format":"int64","minimum":0},"failed":{"type":"integer","format":"int64","minimum":0},"active":{"type":"integer","format":"int64","minimum":0,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Сейчас привязаны к этому бизнесу после квалификации; ожидающие кандидаты не включаются."},"children":[]}]}]}]},"detached":{"type":"integer","format":"int64","minimum":0,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Отвязаны от этого бизнеса, а не от другого нераскрываемого бизнеса."},"children":[]}]}]}]}}}},"components/schemas/BciBusinessInvitationProgram":{"id":"components/schemas/BciBusinessInvitationProgram","kind":"json-schema","title":"BciBusinessInvitationProgram","data":{"type":"object","required":["business","rules","quota","counts","permissions"],"properties":{"business":{"$ref":"#/components/schemas/BciBusinessCard"},"rules":{"$ref":"#/components/schemas/BciInvitationRules"},"quota":{"$ref":"#/components/schemas/BciBusinessQuota"},"counts":{"$ref":"#/components/schemas/BciInvitationCounts"},"permissions":{"type":"object","required":["can_view","can_manage_links","can_view_contacts","can_view_finance"],"properties":{"can_view":{"type":"boolean"},"can_manage_links":{"type":"boolean"},"can_view_contacts":{"type":"boolean"},"can_view_finance":{"type":"boolean"}}}}}},"components/schemas/BciQualificationStatus":{"id":"components/schemas/BciQualificationStatus","kind":"json-schema","title":"BciQualificationStatus","data":{"type":"string","enum":["WAITING_FOR_VISIT","BOOKED","QUALIFIED","FAILED"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"WAITING_FOR_VISIT означает ожидание фактического визита без активной подходящей записи."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"BOOKED означает наличие записи к пригласившему бизнесу, но оказание услуги ещё не"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"подтверждено. QUALIFIED является историческим статусом и сохраняется после отвязки."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"FAILED включает отклонённые авторизованные попытки и окончательную потерю права участия."},"children":[]}]}]}]}},"components/schemas/BciBindingStatus":{"id":"components/schemas/BciBindingStatus","kind":"json-schema","title":"BciBindingStatus","data":{"type":"string","enum":["NONE","ACTIVE","DETACHED"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"В DTO для бизнеса статус указан относительно целевого бизнеса. У клиента, привязанного"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"к другому бизнесу, здесь будет NONE вместе с ALREADY_BOUND_TO_OTHER_BUSINESS; ID привязки,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"карточка и даты другого бизнеса не раскрываются."},"children":[]}]}]}]}},"components/schemas/BciFailureReason":{"id":"components/schemas/BciFailureReason","kind":"json-schema","title":"BciFailureReason","data":{"type":"string","nullable":true,"enum":["ALREADY_BOUND_TO_OTHER_BUSINESS","ATTRIBUTED_TO_OTHER_BUSINESS","PREVIOUSLY_BOUND","PREVIOUSLY_USED","EXISTING_PLATFORM_CLIENT","VISIT_DEADLINE_EXPIRED","FIRST_BOOKING_CANCELLED","NO_SHOW","INVALID_INVITE_CONTEXT","INVITATION_CONTEXT_EXPIRED","PROGRAM_DISABLED","LIMIT_REACHED",null]}},"components/schemas/BciCommissionBenefit":{"id":"components/schemas/BciCommissionBenefit","kind":"json-schema","title":"BciCommissionBenefit","data":{"type":"object","required":["active","rate_percent","activated_at","revoked_at","revocation_reason"],"properties":{"active":{"type":"boolean"},"rate_percent":{"type":"number","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"0, когда льгота программы активна; иначе null. Это не значение обычной комиссии."},"children":[]}]}]}]},"activated_at":{"type":"string","format":"date-time","nullable":true},"revoked_at":{"type":"string","format":"date-time","nullable":true},"revocation_reason":{"type":"string","nullable":true,"enum":["CLIENT_DETACHED",null]}}}},"components/schemas/BciInvitedClient":{"id":"components/schemas/BciInvitedClient","kind":"json-schema","title":"BciInvitedClient","data":{"type":"object","required":["invitation_id","user_id","name","avatar","phone","status","binding_status","failure_reason","first_seen_at","last_attempt_at","registered_at","bound_at","visit_deadline_at","qualified_at","detached_at","last_attempt_source","commission_benefit"],"properties":{"invitation_id":{"type":"integer","format":"int64","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"bci_business_client.id, уникальный для целевой программы и постоянной идентичности клиента; не глобальный ID атрибуции."},"children":[]}]}]}]},"user_id":{"type":"integer","format":"int64","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Текущий ID пользователя; историческая постоянная идентичность получателя сохраняется после удаления аккаунта."},"children":[]}]}]}]},"name":{"type":"string","nullable":true},"avatar":{"type":"integer","format":"int64","nullable":true},"phone":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Полный контакт доступен только для атрибутированного этому бизнесу клиента и владельцу либо пользователю с правом CLIENT_INVITATIONS_CONTACTS_VIEW. В остальных случаях показываются лишь последние цифры с маской; отклонённый вход никогда не даёт доступ к полному контакту. Для удалённого или недоступного контакта — null."},"children":[]}]}]}]},"status":{"$ref":"#/components/schemas/BciQualificationStatus"},"binding_status":{"$ref":"#/components/schemas/BciBindingStatus"},"failure_reason":{"$ref":"#/components/schemas/BciFailureReason"},"first_seen_at":{"type":"string","format":"date-time"},"last_attempt_at":{"type":"string","format":"date-time"},"registered_at":{"type":"string","format":"date-time","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Регистрация через контекст этого бизнеса; для отклонённого LOGIN существующего клиента — null."},"children":[]}]}]}]},"bound_at":{"type":"string","format":"date-time","nullable":true},"visit_deadline_at":{"type":"string","format":"date-time","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Срок, определённый сервером; для отклонённых попыток, не получивших право участия, — null."},"children":[]}]}]}]},"qualified_at":{"type":"string","format":"date-time","nullable":true},"detached_at":{"type":"string","format":"date-time","nullable":true},"last_attempt_source":{"$ref":"#/components/schemas/BciInvitationAttemptSource"},"commission_benefit":{"$ref":"#/components/schemas/BciCommissionBenefit"}}}},"components/schemas/BciInvitedClientPage":{"id":"components/schemas/BciInvitedClientPage","kind":"json-schema","title":"BciInvitedClientPage","data":{"type":"object","required":["items","offset","limit","has_more","total_count"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/BciInvitedClient"}},"offset":{"type":"integer","minimum":0},"limit":{"type":"integer","minimum":1,"maximum":200},"has_more":{"type":"boolean"},"total_count":{"type":"integer","format":"int64","minimum":0,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Количество уникальных получателей по текущим фильтрам, а не общий counts.total_count программы."},"children":[]}]}]}]}}}},"components/schemas/BciInvitationRecord":{"id":"components/schemas/BciInvitationRecord","kind":"json-schema","title":"BciInvitationRecord","data":{"type":"object","nullable":true,"required":["record_id","service_name","scheduled_at","service_occurred_at","price_minor_units","currency"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Только запись, принадлежащая текущему или пригласившему бизнесу; если недоступна — null."},"children":[]}]}]}],"properties":{"record_id":{"type":"integer","format":"int64"},"service_name":{"type":"string"},"scheduled_at":{"type":"string","format":"date-time"},"scheduled_end_at":{"type":"string","format":"date-time","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Запланированное окончание услуги; вместе с scheduled_at задаёт интервал записи."},"children":[]}]}]}]},"service_occurred_at":{"type":"string","format":"date-time","nullable":true},"price_minor_units":{"type":"integer","format":"int64","minimum":0,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Денежная сумма в минимальных единицах валюты, например в копейках для RUB; не число с двоичной плавающей точкой."},"children":[]}]}]}]},"currency":{"type":"string","minLength":3,"maxLength":3,"example":"RUB"}}}},"components/schemas/BciInvitationHistoryItem":{"id":"components/schemas/BciInvitationHistoryItem","kind":"json-schema","title":"BciInvitationHistoryItem","data":{"type":"object","required":["event_id","event_type","occurred_at","reason_code"],"properties":{"event_id":{"type":"integer","format":"int64"},"event_type":{"type":"string","enum":["ATTEMPT_ACCEPTED","ATTEMPT_REJECTED","BOOKED","BOOKING_CANCELLED","QUALIFIED","FAILED","DETACHED"]},"occurred_at":{"type":"string","format":"date-time"},"reason_code":{"$ref":"#/components/schemas/BciFailureReason"}}}},"components/schemas/BciInvitedClientDetails":{"id":"components/schemas/BciInvitedClientDetails","kind":"json-schema","title":"BciInvitedClientDetails","data":{"allOf":[{"$ref":"#/components/schemas/BciInvitedClient"},{"type":"object","required":["policy_version","record","history"],"properties":{"policy_version":{"type":"integer","format":"int64","minimum":1,"nullable":true},"record":{"$ref":"#/components/schemas/BciInvitationRecord"},"history":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Изменения бизнес-состояния в рамках текущего бизнеса; технические повторы исключены."},"children":[]}]}]}],"items":{"$ref":"#/components/schemas/BciInvitationHistoryItem"}}}}]}},"components/schemas/BciClientBinding":{"id":"components/schemas/BciClientBinding","kind":"json-schema","title":"BciClientBinding","data":{"type":"object","nullable":true,"required":["binding_id","version","business","status","bound_at","visit_deadline_at","qualified_at","detached_at","commission_benefit"],"properties":{"binding_id":{"type":"integer","format":"int64"},"version":{"type":"integer","format":"int64","minimum":0},"business":{"$ref":"#/components/schemas/BciBusinessCard"},"status":{"$ref":"#/components/schemas/BciQualificationStatus"},"bound_at":{"type":"string","format":"date-time"},"visit_deadline_at":{"type":"string","format":"date-time"},"qualified_at":{"type":"string","format":"date-time","nullable":true},"detached_at":{"type":"string","format":"date-time","nullable":true},"commission_benefit":{"$ref":"#/components/schemas/BciCommissionBenefit"}}}},"components/schemas/BciMyBusinessBinding":{"id":"components/schemas/BciMyBusinessBinding","kind":"json-schema","title":"BciMyBusinessBinding","data":{"type":"object","required":["binding_status","binding","can_bind","can_detach","reattachment_blocked","decision_reason"],"properties":{"binding_status":{"$ref":"#/components/schemas/BciBindingStatus"},"binding":{"$ref":"#/components/schemas/BciClientBinding"},"can_bind":{"type":"boolean","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"false для существующей ожидающей атрибуции, после привязки или отвязки, а также для клиента платформы без права участия; не является указанием показывать ручную привязку."},"children":[]}]}]}]},"can_detach":{"type":"boolean","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"true только для активной привязки, созданной после квалификации; false для ожидающей атрибуции и истории отвязки."},"children":[]}]}]}]},"reattachment_blocked":{"type":"boolean","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"true при постоянном ограничении на единственную привязку; после отвязки обязательно true."},"children":[]}]}]}]},"decision_reason":{"type":"string","nullable":true,"enum":["ALREADY_BOUND","PREVIOUSLY_BOUND","PREVIOUSLY_USED","EXISTING_PLATFORM_CLIENT","NO_INVITATION_CONTEXT",null]}}}},"components/schemas/BciDetachBindingBody":{"id":"components/schemas/BciDetachBindingBody","kind":"json-schema","title":"BciDetachBindingBody","data":{"type":"object","additionalProperties":false,"required":["binding_id","expected_version","confirm"],"properties":{"binding_id":{"type":"integer","format":"int64","minimum":1},"expected_version":{"type":"integer","format":"int64","minimum":0},"confirm":{"type":"boolean","enum":[true],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Клиент подтвердил необратимую потерю льгот и невозможность повторной привязки."},"children":[]}]}]}]}}}},"schema_91":{"kind":"json-schema","data":{"allOf":[{"$ref":"#/components/schemas/BciApiResponse"},{"type":"object","properties":{"data":{"$ref":"#/components/schemas/BciShare"}}}]},"id":"schema_91"},"schema_92":{"kind":"json-schema","data":{"type":"integer","minimum":0,"default":0},"id":"schema_92"},"schema_93":{"kind":"json-schema","data":{"type":"integer","minimum":1,"maximum":200,"default":100},"id":"schema_93"},"schema_94":{"kind":"json-schema","data":{"$ref":"#/components/schemas/BciQualificationStatus"},"id":"schema_94"},"schema_95":{"kind":"json-schema","data":{"$ref":"#/components/schemas/BciBindingStatus"},"id":"schema_95"},"schema_96":{"kind":"json-schema","data":{"type":"string","maxLength":100},"id":"schema_96"},"schema_97":{"kind":"json-schema","data":{"type":"integer","format":"int64","minimum":1},"id":"schema_97"},"schema_98":{"kind":"json-schema","data":{"type":"string","format":"uuid"},"id":"schema_98"},"schema_99":{"kind":"json-schema","data":{"type":"string","format":"date"},"id":"schema_99"},"schema_100":{"kind":"json-schema","data":{"type":"string","maxLength":200},"id":"schema_100"},"schema_101":{"kind":"json-schema","data":{"type":"integer","minimum":1,"maximum":100,"default":20},"id":"schema_101"},"schema_102":{"kind":"json-schema","data":{"allOf":[{"$ref":"#/components/schemas/ComplaintStatus"}],"default":"OPEN"},"id":"schema_102"},"schema_103":{"kind":"json-schema","data":{"type":"array","uniqueItems":true,"maxItems":5,"items":{"$ref":"#/components/schemas/ComplaintSubjectType"}},"id":"schema_103"},"schema_104":{"kind":"json-schema","data":{"type":"string","enum":["CLIENT","BUSINESS"]},"id":"schema_104"},"schema_105":{"kind":"json-schema","data":{"type":"array","maxItems":50,"items":{"type":"string","maxLength":120}},"id":"schema_105"},"schema_106":{"kind":"json-schema","data":{"type":"array","uniqueItems":true,"maxItems":3,"items":{"type":"string","enum":["ACTIVE","INACTIVE","BLOCKED"]}},"id":"schema_106"},"schema_107":{"kind":"json-schema","data":{"type":"array","maxItems":3,"items":{"type":"string","pattern":"^(registered_at|records_count|spent_amount):(asc|desc)$"}},"id":"schema_107"},"schema_108":{"kind":"json-schema","data":{"type":"integer","minimum":0,"maximum":100000},"id":"schema_108"},"schema_109":{"kind":"json-schema","data":{"type":"integer","minimum":1,"maximum":100,"default":50},"id":"schema_109"},"schema_110":{"kind":"json-schema","data":{"type":"string","enum":["CLIENT","MASTER","SALON"]},"id":"schema_110"},"schema_111":{"kind":"json-schema","data":{"type":"array","uniqueItems":true,"maxItems":4,"items":{"type":"string","enum":["BOOKED","WAITING_ACTION","COMPLETED","CANCELED"]}},"id":"schema_111"},"schema_112":{"kind":"json-schema","data":{"type":"array","maxItems":3,"items":{"type":"string","pattern":"^(start_at|paid_at|service_price):(asc|desc)$"}},"id":"schema_112"},"schema_113":{"kind":"json-schema","data":{"type":"array","uniqueItems":true,"maxItems":2,"items":{"type":"string","enum":["MASTER","SALON"]}},"id":"schema_113"},"schema_114":{"kind":"json-schema","data":{"type":"array","maxItems":4,"items":{"type":"string","enum":["rating:asc","rating:desc","reviews_count:asc","reviews_count:desc","income_amount:asc","income_amount:desc","registered_at:asc","registered_at:desc"]}},"id":"schema_114"},"schema_115":{"kind":"json-schema","data":{"$ref":"#/components/schemas/ModerationStatus"},"id":"schema_115"},"schema_116":{"kind":"json-schema","data":{"type":"array","maxItems":2,"uniqueItems":true,"items":{"$ref":"#/components/schemas/ModerationSubjectType"}},"id":"schema_116"},"schema_117":{"kind":"json-schema","data":{"type":"array","maxItems":50,"items":{"type":"string","minLength":1,"maxLength":120}},"id":"schema_117"},"schema_118":{"kind":"json-schema","data":{"type":"string","enum":["submitted_at:asc","submitted_at:desc"],"default":"submitted_at:desc"},"id":"schema_118"},"schema_119":{"kind":"json-schema","data":{"$ref":"#/components/schemas/SupportCaseStatus"},"id":"schema_119"},"schema_120":{"kind":"json-schema","data":{"type":"boolean"},"id":"schema_120"},"schema_121":{"kind":"json-schema","data":{"type":"integer","minimum":0},"id":"schema_121"},"schema_122":{"kind":"json-schema","data":{"$ref":"#/components/schemas/NotificationExecutionMode"},"id":"schema_122"},"schema_123":{"kind":"json-schema","data":{"type":"string","enum":["WAITING","WAITING_FOR_BOOKING","WAITING_FOR_VISIT","COMPLETED","EXPIRED"]},"id":"schema_123"},"schema_124":{"kind":"json-schema","data":{"type":"string","default":"registered_at_desc","enum":["registered_at_asc","registered_at_desc","completed_at_asc","completed_at_desc","expires_at_asc","expires_at_desc","status_asc","status_desc"]},"id":"schema_124"},"schema_125":{"kind":"json-schema","data":{"type":"integer","format":"int64"},"id":"schema_125"},"schema_126":{"kind":"json-schema","data":{"type":"string","enum":["ACTIVE","RESERVED","USED","EXPIRED","CANCELED"]},"id":"schema_126"},"schema_127":{"kind":"json-schema","data":{"type":"string"},"id":"schema_127"},"schema_128":{"kind":"json-schema","data":{"type":"string","enum":["FULL","PREVIEW"],"default":"FULL"},"id":"schema_128"},"schema_129":{"kind":"json-schema","data":{"type":"boolean","default":true},"id":"schema_129"},"schema_130":{"kind":"json-schema","data":{"type":"object","properties":{"Location":{"type":"string","format":"uri","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Ссылка для скачивания файла"},"children":[]}]}]}]}}},"id":"schema_130"},"schema_131":{"kind":"json-schema","data":{"type":"integer","format":"int32","default":5,"minimum":1,"maximum":20},"id":"schema_131"},"schema_132":{"kind":"json-schema","data":{"type":"object","properties":{"Set-Cookie":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Истёкшие JWT и RT cookies"},"children":[]}]}]}]}}},"id":"schema_132"},"schema_133":{"kind":"json-schema","data":{"type":"object","required":["reason","from","to"],"properties":{"reason":{"type":"string","minLength":1},"from":{"type":"string","format":"date-time"},"to":{"type":"string","format":"date-time","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Должно быть позже "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" и находиться в будущем"},"children":[]}]}]}]}}},"id":"schema_133"},"schema_134":{"kind":"json-schema","data":{"type":"object","properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Member deactivated successfully"},"error_code":{"type":"string","nullable":true},"data":{"nullable":true}}},"id":"schema_134"},"schema_135":{"kind":"json-schema","data":{"$ref":"#/components/schemas/SalonInviteRoleInSalon"},"id":"schema_135"},"schema_136":{"kind":"json-schema","data":{"type":"string","format":"date","example":"2026-05-11"},"id":"schema_136"},"schema_137":{"kind":"json-schema","data":{"type":"string","format":"date","example":"2026-04-01"},"id":"schema_137"},"schema_138":{"kind":"json-schema","data":{"type":"string","format":"date","example":"2026-06-19"},"id":"schema_138"},"schema_139":{"kind":"json-schema","data":{"type":"integer","format":"int32","example":2026},"id":"schema_139"},"schema_140":{"kind":"json-schema","data":{"oneOf":[{"$ref":"#/components/schemas/GetWorkScheduleResponse"},{"$ref":"#/components/schemas/GetWorkSchedulesResponse"}]},"id":"schema_140"},"schema_141":{"kind":"json-schema","data":{"type":"string","format":"date","example":"2026-07-05"},"id":"schema_141"},"schema_142":{"kind":"json-schema","data":{"type":"string","pattern":"^([01]\\d|2[0-3]):[0-5]\\d$","example":"17:00"},"id":"schema_142"},"schema_143":{"kind":"json-schema","data":{"type":"string","pattern":"^([01]\\d|2[0-3]):[0-5]\\d$","example":"19:00"},"id":"schema_143"},"schema_144":{"kind":"json-schema","data":{"type":"string","format":"date","example":"2026-04-09"},"id":"schema_144"},"schema_145":{"kind":"json-schema","data":{"type":"string","example":"5b707e70-b21b-4d1f-bc65-e3f65f80520a"},"id":"schema_145"},"schema_146":{"kind":"json-schema","data":{"type":"integer","format":"int64","example":92001003},"id":"schema_146"},"schema_147":{"kind":"json-schema","data":{"type":"string","example":"4b5eaf3d-ad0e-4683-87d0-4c877948343c"},"id":"schema_147"},"schema_148":{"kind":"json-schema","data":{"type":"string","format":"date","example":"2026-09-02"},"id":"schema_148"},"schema_149":{"kind":"json-schema","data":{"type":"array","minItems":1,"items":{"$ref":"#/components/schemas/UpdateNoteBody"}},"id":"schema_149"},"schema_150":{"kind":"json-schema","data":{"type":"integer","format":"int64","minimum":1,"example":101},"id":"schema_150"},"schema_151":{"kind":"json-schema","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"},{"type":"object","properties":{"data":{"type":"object","properties":{"radius_km":{"type":"array","items":{"type":"integer","enum":[1,5,10,20]}}}}}}]},"id":"schema_151"},"schema_152":{"kind":"json-schema","data":{"type":"string","maxLength":100,"default":""},"id":"schema_152"},"schema_153":{"kind":"json-schema","data":{"type":"string","maxLength":80},"id":"schema_153"},"schema_154":{"kind":"json-schema","data":{"type":"number","format":"double","minimum":-90,"maximum":90},"id":"schema_154"},"schema_155":{"kind":"json-schema","data":{"type":"number","format":"double","minimum":-180,"maximum":180},"id":"schema_155"},"schema_156":{"kind":"json-schema","data":{"type":"integer","minimum":100,"maximum":10000},"id":"schema_156"},"schema_157":{"kind":"json-schema","data":{"type":"string","maxLength":300},"id":"schema_157"},"schema_158":{"kind":"json-schema","data":{"type":"array","items":{"type":"string","maxLength":100}},"id":"schema_158"},"schema_159":{"kind":"json-schema","data":{"type":"integer","minimum":5,"maximum":30},"id":"schema_159"},"schema_160":{"kind":"json-schema","data":{"type":"array","items":{"type":"string","maxLength":150}},"id":"schema_160"},"schema_161":{"kind":"json-schema","data":{"$ref":"#/components/schemas/CombinedSearchSort"},"id":"schema_161"},"schema_162":{"kind":"json-schema","data":{"$ref":"#/components/schemas/ServiceSearchSort"},"id":"schema_162"},"schema_163":{"kind":"json-schema","data":{"type":"integer","minimum":1,"maximum":50,"default":20},"id":"schema_163"},"schema_164":{"kind":"json-schema","data":{"$ref":"#/components/schemas/MasterSearchSort"},"id":"schema_164"},"schema_165":{"kind":"json-schema","data":{"$ref":"#/components/schemas/SalonSearchSort"},"id":"schema_165"},"schema_166":{"kind":"json-schema","data":{"type":"string","minLength":1,"maxLength":300,"pattern":".*\\S.*"},"id":"schema_166"},"schema_167":{"kind":"json-schema","data":{"type":"string","minLength":1,"maxLength":100,"pattern":".*\\S.*"},"id":"schema_167"},"schema_168":{"kind":"json-schema","data":{"type":"string","enum":["city","settlement"]},"id":"schema_168"},"schema_169":{"kind":"json-schema","data":{"type":"integer","format":"int32","default":10,"minimum":1,"maximum":20},"id":"schema_169"},"schema_170":{"kind":"json-schema","data":{"type":"string","enum":["ACTIVE","ARCHIVE"]},"id":"schema_170"},"schema_171":{"kind":"json-schema","data":{"type":"integer","format":"int32","minimum":1,"maximum":9999},"id":"schema_171"},"schema_172":{"kind":"json-schema","data":{"type":"object","required":["success","message","error_code","data"],"properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Provider calendar retrieved successfully"},"error_code":{"nullable":true,"example":null},"data":{"type":"object","required":["year","months"],"properties":{"year":{"type":"integer","format":"int32","example":2026},"months":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Номер месяца сопоставлен со списком номеров дней с записями."},"children":[]}]}]}],"additionalProperties":{"type":"array","items":{"type":"integer","minimum":1,"maximum":31}},"example":{"1":[],"2":[],"3":[],"4":[],"5":[],"6":[5,9,16,17,28],"7":[5],"8":[],"9":[],"10":[],"11":[],"12":[]}}}}}},"id":"schema_172"},"schema_173":{"kind":"json-schema","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"},{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ReviewEligibility"}}}]},"id":"schema_173"},"schema_174":{"kind":"json-schema","data":{"$ref":"#/components/schemas/TypeFavorite"},"id":"schema_174"},"schema_175":{"kind":"json-schema","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"},{"type":"object","properties":{"data":{"$ref":"#/components/schemas/dtoDialog"}}}]},"id":"schema_175"},"schema_176":{"kind":"json-schema","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"},{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/DialogsDTO"}}}}]},"id":"schema_176"},"schema_177":{"kind":"json-schema","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"},{"type":"object","properties":{"data":{"$ref":"#/components/schemas/SendMessageResult"}}}]},"id":"schema_177"},"schema_178":{"kind":"json-schema","data":{"type":"integer","format":"int32","minimum":0,"maximum":100000},"id":"schema_178"},"schema_179":{"kind":"json-schema","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"},{"type":"object","properties":{"data":{"$ref":"#/components/schemas/GetMessagesResult"}}}]},"id":"schema_179"},"schema_180":{"kind":"json-schema","data":{"allOf":[{"$ref":"#/components/schemas/BaseResponse"},{"type":"object","properties":{"data":{"type":"object","required":["message_ids"],"properties":{"message_ids":{"type":"array","items":{"type":"integer","format":"int64"}}}}}}]},"id":"schema_180"},"schema_181":{"kind":"json-schema","data":{"type":"string","minLength":1,"maxLength":128},"id":"schema_181"}},"exampleStore":{"paths/~1api~1comparison~1list/get/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Service preview in comparison received successfully","codeError":null,"error_code":null,"data":[{"id":101,"name":"Маникюр","duration":60,"price":800,"rating":4.5,"count_review":12,"img":501}]},"id":"paths/~1api~1comparison~1list/get/responses/200/content/application~1json/example"},"paths/~1api~1comparison~1list/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1comparison~1list/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1comparison~1list/get/responses/403/content/application~1json/example":{"value":{"success":false,"message":"Forbidden","codeError":"forbidden","error_code":"forbidden","data":null},"id":"paths/~1api~1comparison~1list/get/responses/403/content/application~1json/example"},"paths/~1api~1comparison~1list/get/responses/500/content/application~1json/example":{"value":{"success":false,"message":"Internal server error","codeError":"internal_error","error_code":"internal_error","data":null},"id":"paths/~1api~1comparison~1list/get/responses/500/content/application~1json/example"},"paths/~1api~1comparison/post/requestBody/content/application~1json/example":{"value":{"servicesId":[101,102]},"id":"paths/~1api~1comparison/post/requestBody/content/application~1json/example"},"paths/~1api~1comparison/post/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Comparison service received successfully","codeError":null,"error_code":null,"data":[{"id":101,"imgs":[501,502],"name":"Ева Васильева","price":800,"rating":4.5,"count_review":12,"duration":60,"next_appointmentAt":"2026-09-06T10:00:00","address":"ул. Садовая, 12","distance_meters":800,"advantages":["Парковка"],"masters":[{"id":21,"img":601,"full_name":"Ева Васильева","experience_years":4}]},{"id":102,"imgs":[],"name":"Салон красоты","price":1200,"rating":4.8,"count_review":30,"duration":90,"next_appointmentAt":null,"address":"Невский проспект, 14","distance_meters":null,"advantages":[],"masters":[{"id":22,"img":null,"full_name":"Анна Иванова","experience_years":7},{"id":23,"img":603,"full_name":"Мария Петрова","experience_years":3}]}]},"id":"paths/~1api~1comparison/post/responses/200/content/application~1json/example"},"paths/~1api~1comparison/post/responses/400/content/application~1json/examples/emptyList":{"value":{"success":false,"message":"Service IDs must contain between 1 and 4 items","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"emptyList","summary":"emptyList","id":"paths/~1api~1comparison/post/responses/400/content/application~1json/examples/emptyList"},"paths/~1api~1comparison/post/responses/400/content/application~1json/examples/duplicateIds":{"value":{"success":false,"message":"Service IDs must be unique","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"duplicateIds","summary":"duplicateIds","id":"paths/~1api~1comparison/post/responses/400/content/application~1json/examples/duplicateIds"},"paths/~1api~1comparison/post/responses/400/content/application~1json/examples/invalidJson":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalidJson","summary":"invalidJson","id":"paths/~1api~1comparison/post/responses/400/content/application~1json/examples/invalidJson"},"paths/~1api~1comparison/post/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1comparison/post/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1comparison/post/responses/403/content/application~1json/example":{"value":{"success":false,"message":"Forbidden","codeError":"forbidden","error_code":"forbidden","data":null},"id":"paths/~1api~1comparison/post/responses/403/content/application~1json/example"},"paths/~1api~1comparison/post/responses/415/content/application~1json/example":{"value":{"success":false,"message":"Content-Type 'text/plain' is not supported","codeError":"invalid_body","error_code":"invalid_body","data":null},"id":"paths/~1api~1comparison/post/responses/415/content/application~1json/example"},"paths/~1api~1comparison/post/responses/500/content/application~1json/example":{"value":{"success":false,"message":"Internal server error","codeError":"internal_error","error_code":"internal_error","data":null},"id":"paths/~1api~1comparison/post/responses/500/content/application~1json/example"},"paths/~1api~1comparison~1{serviceId}/post/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Service added to comparison successfully","codeError":null,"error_code":null,"data":{"remainingCount":3}},"id":"paths/~1api~1comparison~1{serviceId}/post/responses/200/content/application~1json/example"},"paths/~1api~1comparison~1{serviceId}/post/responses/400/content/application~1json/example":{"value":{"success":false,"message":"User ID and service ID must be positive","codeError":"invalid_body","error_code":"invalid_body","data":null},"id":"paths/~1api~1comparison~1{serviceId}/post/responses/400/content/application~1json/example"},"paths/~1api~1comparison~1{serviceId}/post/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1comparison~1{serviceId}/post/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1comparison~1{serviceId}/post/responses/403/content/application~1json/example":{"value":{"success":false,"message":"Forbidden","codeError":"forbidden","error_code":"forbidden","data":null},"id":"paths/~1api~1comparison~1{serviceId}/post/responses/403/content/application~1json/example"},"paths/~1api~1comparison~1{serviceId}/post/responses/500/content/application~1json/example":{"value":{"success":false,"message":"Internal server error","codeError":"internal_error","error_code":"internal_error","data":null},"id":"paths/~1api~1comparison~1{serviceId}/post/responses/500/content/application~1json/example"},"paths/~1api~1comparison~1{serviceId}/delete/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Service deleted from comparison successfully","codeError":null,"error_code":null,"data":null},"id":"paths/~1api~1comparison~1{serviceId}/delete/responses/200/content/application~1json/example"},"paths/~1api~1comparison~1{serviceId}/delete/responses/400/content/application~1json/example":{"value":{"success":false,"message":"Invalid value for parameter 'serviceId'","codeError":"invalid_body","error_code":"invalid_body","data":null},"id":"paths/~1api~1comparison~1{serviceId}/delete/responses/400/content/application~1json/example"},"paths/~1api~1comparison~1{serviceId}/delete/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1comparison~1{serviceId}/delete/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1comparison~1{serviceId}/delete/responses/403/content/application~1json/example":{"value":{"success":false,"message":"Forbidden","codeError":"forbidden","error_code":"forbidden","data":null},"id":"paths/~1api~1comparison~1{serviceId}/delete/responses/403/content/application~1json/example"},"paths/~1api~1comparison~1{serviceId}/delete/responses/500/content/application~1json/example":{"value":{"success":false,"message":"Internal server error","codeError":"internal_error","error_code":"internal_error","data":null},"id":"paths/~1api~1comparison~1{serviceId}/delete/responses/500/content/application~1json/example"},"paths/~1api~1admin~1action-history/get/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1admin~1action-history/get/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1admin~1action-history/get/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1admin~1action-history/get/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1admin~1action-history/get/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1admin~1action-history/get/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1admin~1action-history/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1admin~1action-history/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1admin~1action-history/get/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1admin~1action-history/get/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1admin~1complaints~1stats/get/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Complaint statistics retrieved successfully","codeError":null,"error_code":null,"data":{"period":{"from":"2026-05-01","to":"2026-05-31","previous_from":"2026-03-31","previous_to":"2026-04-30"},"total_complaints":184,"total_complaints_change_percent":11.4,"open_complaints":27,"open_complaints_change_percent":3.8,"closed_complaints":157,"closed_complaints_change_percent":12.9,"average_resolution_days":1.8}},"id":"paths/~1api~1admin~1complaints~1stats/get/responses/200/content/application~1json/example"},"paths/~1api~1admin~1complaints~1stats/get/responses/400/content/application~1json/examples/missing_period":{"value":{"success":false,"message":"Period from and to are required","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"missing_period","summary":"Не передана одна из границ периода","id":"paths/~1api~1admin~1complaints~1stats/get/responses/400/content/application~1json/examples/missing_period"},"paths/~1api~1admin~1complaints~1stats/get/responses/400/content/application~1json/examples/invalid_order":{"value":{"success":false,"message":"Period from must be before or equal to period to","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_order","summary":"Начало периода позже окончания","id":"paths/~1api~1admin~1complaints~1stats/get/responses/400/content/application~1json/examples/invalid_order"},"paths/~1api~1admin~1complaints~1stats/get/responses/400/content/application~1json/examples/unsupported_boundaries":{"value":{"success":false,"message":"Period is outside the supported date range","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_boundaries","summary":"Для периода невозможно вычислить предыдущий интервал","id":"paths/~1api~1admin~1complaints~1stats/get/responses/400/content/application~1json/examples/unsupported_boundaries"},"paths/~1api~1admin~1complaints~1stats/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1admin~1complaints~1stats/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1admin~1complaints~1stats/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission":{"value":{"success":false,"message":"Admin panel permission denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"insufficient_admin_panel_permission","summary":"Недостаточный уровень permission раздела","id":"paths/~1api~1admin~1complaints~1stats/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission"},"paths/~1api~1admin~1complaints~1stats/get/responses/403/content/application~1json/examples/admin_role_required":{"value":{"success":false,"message":"Forbidden","codeError":"forbidden","error_code":"forbidden","data":null},"key":"admin_role_required","summary":"У пользователя отсутствует роль ADMIN","id":"paths/~1api~1admin~1complaints~1stats/get/responses/403/content/application~1json/examples/admin_role_required"},"paths/~1api~1admin~1complaints/get/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Complaints retrieved successfully","codeError":null,"error_code":null,"data":{"items":[{"complaint_id":121,"status":"OPEN","reason":"Отзыв содержит оскорбления в адрес мастера","created_at":"2026-05-01T10:15:30Z","resolved_at":null,"reporter":{"user_id":42,"name":"Мария Кузнецова","full_name":"Мария Кузнецова","avatar":501,"account_type":"CLIENT"},"subject":{"subject_id":987,"type":"REVIEW","name":"Отзыв #987","full_name":"Анна Белова","avatar":502,"owner_user_id":77,"available":true},"resolution":null,"resolution_comment":null,"resolved_by":null}],"offset":0,"limit":20,"has_more":false}},"id":"paths/~1api~1admin~1complaints/get/responses/200/content/application~1json/example"},"paths/~1api~1admin~1complaints/get/responses/400/content/application~1json/examples/invalid_status":{"value":{"success":false,"message":"Status must be OPEN or CLOSED","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_status","summary":"invalid_status","id":"paths/~1api~1admin~1complaints/get/responses/400/content/application~1json/examples/invalid_status"},"paths/~1api~1admin~1complaints/get/responses/400/content/application~1json/examples/invalid_subject_type":{"value":{"success":false,"message":"Type must be USER, MASTER, SALON, SERVICE or REVIEW","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_subject_type","summary":"invalid_subject_type","id":"paths/~1api~1admin~1complaints/get/responses/400/content/application~1json/examples/invalid_subject_type"},"paths/~1api~1admin~1complaints/get/responses/400/content/application~1json/examples/query_too_long":{"value":{"success":false,"message":"Query must be less than or equal to 200 characters","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"query_too_long","summary":"query_too_long","id":"paths/~1api~1admin~1complaints/get/responses/400/content/application~1json/examples/query_too_long"},"paths/~1api~1admin~1complaints/get/responses/400/content/application~1json/examples/invalid_offset":{"value":{"success":false,"message":"Offset must be greater than or equal to 0","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_offset","summary":"invalid_offset","id":"paths/~1api~1admin~1complaints/get/responses/400/content/application~1json/examples/invalid_offset"},"paths/~1api~1admin~1complaints/get/responses/400/content/application~1json/examples/invalid_limit":{"value":{"success":false,"message":"Limit must be between 1 and 100","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_limit","summary":"invalid_limit","id":"paths/~1api~1admin~1complaints/get/responses/400/content/application~1json/examples/invalid_limit"},"paths/~1api~1admin~1complaints/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1admin~1complaints/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1admin~1complaints/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission":{"value":{"success":false,"message":"Admin panel permission denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"insufficient_admin_panel_permission","summary":"Недостаточный уровень permission раздела","id":"paths/~1api~1admin~1complaints/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission"},"paths/~1api~1admin~1complaints/get/responses/403/content/application~1json/examples/admin_role_required":{"value":{"success":false,"message":"Forbidden","codeError":"forbidden","error_code":"forbidden","data":null},"key":"admin_role_required","summary":"У пользователя отсутствует роль ADMIN","id":"paths/~1api~1admin~1complaints/get/responses/403/content/application~1json/examples/admin_role_required"},"paths/~1api~1admin~1complaints~1{complaintId}/get/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Complaint retrieved successfully","codeError":null,"error_code":null,"data":{"complaint_id":121,"status":"OPEN","reason":"Отзыв содержит оскорбления в адрес мастера","created_at":"2026-05-01T10:15:30Z","resolved_at":null,"reporter":{"user_id":42,"name":"Мария Кузнецова","full_name":"Мария Кузнецова","avatar":501,"account_type":"CLIENT"},"subject":{"subject_id":987,"type":"REVIEW","name":"Отзыв #987","full_name":"Анна Белова","avatar":502,"owner_user_id":77,"available":true},"resolution":null,"resolution_comment":null,"resolved_by":null,"review_snapshot":{"review_id":987,"available":true,"author_user_id":77,"author_full_name":"Анна Белова","author_avatar_id":502,"service_record_id":2501,"provider_user_id":88,"executor_user_id":88,"rating":2,"liked_text":null,"disliked_text":"Мастер грубо общался","comment":"Результат услуги не соответствует описанию","tags":["COMMUNICATION","PROFESSIONALISM"],"media_ids":[7001,7002],"created_at":"2026-04-30T18:20:00Z"},"service_snapshot":null,"available_resolutions":["DELETE_REVIEW","NO_VIOLATION"],"reporter_message":null,"subject_message":null}},"id":"paths/~1api~1admin~1complaints~1{complaintId}/get/responses/200/content/application~1json/example"},"paths/~1api~1admin~1complaints~1{complaintId}/get/responses/400/content/application~1json/example":{"value":{"success":false,"message":"Complaint id must be greater than 0","codeError":"invalid_body","error_code":"invalid_body","data":null},"id":"paths/~1api~1admin~1complaints~1{complaintId}/get/responses/400/content/application~1json/example"},"paths/~1api~1admin~1complaints~1{complaintId}/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1admin~1complaints~1{complaintId}/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1admin~1complaints~1{complaintId}/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission":{"value":{"success":false,"message":"Admin panel permission denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"insufficient_admin_panel_permission","summary":"Недостаточный уровень permission раздела","id":"paths/~1api~1admin~1complaints~1{complaintId}/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission"},"paths/~1api~1admin~1complaints~1{complaintId}/get/responses/403/content/application~1json/examples/admin_role_required":{"value":{"success":false,"message":"Forbidden","codeError":"forbidden","error_code":"forbidden","data":null},"key":"admin_role_required","summary":"У пользователя отсутствует роль ADMIN","id":"paths/~1api~1admin~1complaints~1{complaintId}/get/responses/403/content/application~1json/examples/admin_role_required"},"paths/~1api~1admin~1complaints~1{complaintId}/get/responses/404/content/application~1json/example":{"value":{"success":false,"message":"Complaint not found","codeError":"not_found","error_code":"not_found","data":null},"id":"paths/~1api~1admin~1complaints~1{complaintId}/get/responses/404/content/application~1json/example"},"paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/requestBody/content/application~1json/example":{"value":{"resolution":"DELETE_REVIEW","reporter_message":"Мы рассмотрели вашу жалобу и удалили отзыв — он нарушал правила платформы. Спасибо, что сообщили нам.","subject_message":"Ваш отзыв был удалён, так как не соответствует правилам платформы.","comment":"Нарушение правил подтверждено. Автору направлено уведомление."},"id":"paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/requestBody/content/application~1json/example"},"paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Complaint resolved successfully","codeError":null,"error_code":null,"data":{"complaint_id":121,"status":"CLOSED","resolution":"DELETE_REVIEW","reporter_message":"Мы рассмотрели вашу жалобу и удалили отзыв — он нарушал правила платформы. Спасибо, что сообщили нам.","subject_message":"Ваш отзыв был удалён, так как не соответствует правилам платформы.","resolution_comment":"Нарушение правил подтверждено. Автору направлено уведомление.","resolved_at":"2026-05-01T12:40:00Z","resolved_by":{"user_id":10,"first_name":"Иван","last_name":"Кулигин"}}},"id":"paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/200/content/application~1json/example"},"paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/400/content/application~1json/examples/request_body_required":{"value":{"success":false,"message":"Request body is required","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"request_body_required","summary":"request_body_required","id":"paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/400/content/application~1json/examples/request_body_required"},"paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/400/content/application~1json/examples/resolution_required":{"value":{"success":false,"message":"Resolution is required","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"resolution_required","summary":"resolution_required","id":"paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/400/content/application~1json/examples/resolution_required"},"paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/400/content/application~1json/examples/reporter_message_required":{"value":{"success":false,"message":"Reporter message is required","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"reporter_message_required","summary":"reporter_message_required","id":"paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/400/content/application~1json/examples/reporter_message_required"},"paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/400/content/application~1json/examples/subject_message_too_long":{"value":{"success":false,"message":"Subject message must be less than or equal to 500 characters","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"subject_message_too_long","summary":"subject_message_too_long","id":"paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/400/content/application~1json/examples/subject_message_too_long"},"paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/400/content/application~1json/examples/comment_required":{"value":{"success":false,"message":"Resolution comment is required","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"comment_required","summary":"comment_required","id":"paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/400/content/application~1json/examples/comment_required"},"paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/400/content/application~1json/examples/resolution_not_available":{"value":{"success":false,"message":"Resolution is not available for this complaint","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"resolution_not_available","summary":"resolution_not_available","id":"paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/400/content/application~1json/examples/resolution_not_available"},"paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/403/content/application~1json/examples/insufficient_admin_panel_permission":{"value":{"success":false,"message":"Admin panel permission denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"insufficient_admin_panel_permission","summary":"Недостаточный уровень permission раздела","id":"paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/403/content/application~1json/examples/insufficient_admin_panel_permission"},"paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/403/content/application~1json/examples/admin_role_required":{"value":{"success":false,"message":"Forbidden","codeError":"forbidden","error_code":"forbidden","data":null},"key":"admin_role_required","summary":"У пользователя отсутствует роль ADMIN","id":"paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/403/content/application~1json/examples/admin_role_required"},"paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/404/content/application~1json/examples/complaint_not_found":{"value":{"success":false,"message":"Complaint not found","codeError":"not_found","error_code":"not_found","data":null},"key":"complaint_not_found","summary":"complaint_not_found","id":"paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/404/content/application~1json/examples/complaint_not_found"},"paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/404/content/application~1json/examples/review_not_found":{"value":{"success":false,"message":"Review not found","codeError":"not_found","error_code":"not_found","data":null},"key":"review_not_found","summary":"review_not_found","id":"paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/404/content/application~1json/examples/review_not_found"},"paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/404/content/application~1json/examples/service_not_found":{"value":{"success":false,"message":"Service not found","codeError":"not_found","error_code":"not_found","data":null},"key":"service_not_found","summary":"service_not_found","id":"paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/404/content/application~1json/examples/service_not_found"},"paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/409/content/application~1json/examples/already_closed":{"value":{"success":false,"message":"Complaint is already closed","codeError":"conflict","error_code":"conflict","data":null},"key":"already_closed","summary":"already_closed","id":"paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/409/content/application~1json/examples/already_closed"},"paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/409/content/application~1json/examples/subject_already_blocked":{"value":{"success":false,"message":"Complaint subject is already blocked","codeError":"conflict","error_code":"conflict","data":null},"key":"subject_already_blocked","summary":"subject_already_blocked","id":"paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/409/content/application~1json/examples/subject_already_blocked"},"paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/415/content/application~1json/example":{"value":{"success":false,"message":"Content-Type 'text/plain' is not supported","codeError":"invalid_body","error_code":"invalid_body","data":null},"id":"paths/~1api~1admin~1complaints~1{complaintId}~1resolve/post/responses/415/content/application~1json/example"},"paths/~1api~1admin~1complaints~1{complaintId}~1resolution-templates/get/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Complaint resolution templates retrieved successfully","codeError":null,"error_code":null,"data":{"complaint_id":121,"items":[{"resolution":"DELETE_REVIEW","reporter_message":"Мы рассмотрели вашу жалобу и удалили отзыв — он нарушал правила платформы. Спасибо, что сообщили нам.","subject_message":"Ваш отзыв был удалён, так как не соответствует правилам платформы.","comment":"Нарушение правил подтверждено. Автору направлено уведомление."},{"resolution":"NO_VIOLATION","reporter_message":"Мы изучили жалобу и оставили отзыв — он соответствует правилам платформы.","subject_message":"Жалоба на ваш отзыв была рассмотрена и отклонена.","comment":"Основания для удаления отзыва не найдены."}]}},"id":"paths/~1api~1admin~1complaints~1{complaintId}~1resolution-templates/get/responses/200/content/application~1json/example"},"paths/~1api~1admin~1complaints~1{complaintId}~1resolution-templates/get/responses/400/content/application~1json/example":{"value":{"success":false,"message":"Complaint id must be greater than 0","codeError":"invalid_body","error_code":"invalid_body","data":null},"id":"paths/~1api~1admin~1complaints~1{complaintId}~1resolution-templates/get/responses/400/content/application~1json/example"},"paths/~1api~1admin~1complaints~1{complaintId}~1resolution-templates/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1admin~1complaints~1{complaintId}~1resolution-templates/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1admin~1complaints~1{complaintId}~1resolution-templates/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission":{"value":{"success":false,"message":"Admin panel permission denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"insufficient_admin_panel_permission","summary":"Недостаточный уровень permission раздела","id":"paths/~1api~1admin~1complaints~1{complaintId}~1resolution-templates/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission"},"paths/~1api~1admin~1complaints~1{complaintId}~1resolution-templates/get/responses/403/content/application~1json/examples/admin_role_required":{"value":{"success":false,"message":"Forbidden","codeError":"forbidden","error_code":"forbidden","data":null},"key":"admin_role_required","summary":"У пользователя отсутствует роль ADMIN","id":"paths/~1api~1admin~1complaints~1{complaintId}~1resolution-templates/get/responses/403/content/application~1json/examples/admin_role_required"},"paths/~1api~1admin~1complaints~1{complaintId}~1resolution-templates/get/responses/404/content/application~1json/example":{"value":{"success":false,"message":"Complaint not found","codeError":"not_found","error_code":"not_found","data":null},"id":"paths/~1api~1admin~1complaints~1{complaintId}~1resolution-templates/get/responses/404/content/application~1json/example"},"paths/~1api~1admin~1complaints~1{complaintId}~1resolution-templates/get/responses/409/content/application~1json/example":{"value":{"success":false,"message":"Resolution template is not configured: DELETE_REVIEW","codeError":"conflict","error_code":"conflict","data":null},"id":"paths/~1api~1admin~1complaints~1{complaintId}~1resolution-templates/get/responses/409/content/application~1json/example"},"paths/~1api~1admin~1complaints~1test/post/requestBody/content/application~1json/example":{"value":{"subject_type":"REVIEW","subject_id":987,"reason":"Отзыв содержит оскорбления в адрес мастера"},"id":"paths/~1api~1admin~1complaints~1test/post/requestBody/content/application~1json/example"},"paths/~1api~1admin~1complaints~1test/post/responses/201/content/application~1json/example":{"value":{"success":true,"message":"Test complaint created successfully","codeError":null,"error_code":null,"data":{"complaint_id":121,"status":"OPEN","reporter_user_id":-2,"subject_type":"REVIEW","subject_id":987,"reason":"Отзыв содержит оскорбления в адрес мастера","created_at":"2026-05-01T10:15:30Z"}},"id":"paths/~1api~1admin~1complaints~1test/post/responses/201/content/application~1json/example"},"paths/~1api~1admin~1complaints~1test/post/responses/400/content/application~1json/examples/request_body_required":{"value":{"success":false,"message":"Request body is required","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"request_body_required","summary":"request_body_required","id":"paths/~1api~1admin~1complaints~1test/post/responses/400/content/application~1json/examples/request_body_required"},"paths/~1api~1admin~1complaints~1test/post/responses/400/content/application~1json/examples/subject_type_required":{"value":{"success":false,"message":"Subject type is required","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"subject_type_required","summary":"subject_type_required","id":"paths/~1api~1admin~1complaints~1test/post/responses/400/content/application~1json/examples/subject_type_required"},"paths/~1api~1admin~1complaints~1test/post/responses/400/content/application~1json/examples/invalid_subject_id":{"value":{"success":false,"message":"Subject id must be greater than 0","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_subject_id","summary":"invalid_subject_id","id":"paths/~1api~1admin~1complaints~1test/post/responses/400/content/application~1json/examples/invalid_subject_id"},"paths/~1api~1admin~1complaints~1test/post/responses/400/content/application~1json/examples/invalid_reason":{"value":{"success":false,"message":"Reason must be less than or equal to 2000 characters","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_reason","summary":"invalid_reason","id":"paths/~1api~1admin~1complaints~1test/post/responses/400/content/application~1json/examples/invalid_reason"},"paths/~1api~1admin~1complaints~1test/post/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1admin~1complaints~1test/post/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1admin~1complaints~1test/post/responses/403/content/application~1json/examples/insufficient_admin_panel_permission":{"value":{"success":false,"message":"Admin panel permission denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"insufficient_admin_panel_permission","summary":"Недостаточный уровень permission раздела","id":"paths/~1api~1admin~1complaints~1test/post/responses/403/content/application~1json/examples/insufficient_admin_panel_permission"},"paths/~1api~1admin~1complaints~1test/post/responses/403/content/application~1json/examples/admin_role_required":{"value":{"success":false,"message":"Forbidden","codeError":"forbidden","error_code":"forbidden","data":null},"key":"admin_role_required","summary":"У пользователя отсутствует роль ADMIN","id":"paths/~1api~1admin~1complaints~1test/post/responses/403/content/application~1json/examples/admin_role_required"},"paths/~1api~1admin~1complaints~1test/post/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"message":"Client not found","codeError":"not_found","error_code":"not_found","data":null},"key":"user_not_found","summary":"user_not_found","id":"paths/~1api~1admin~1complaints~1test/post/responses/404/content/application~1json/examples/user_not_found"},"paths/~1api~1admin~1complaints~1test/post/responses/404/content/application~1json/examples/master_not_found":{"value":{"success":false,"message":"Master not found","codeError":"not_found","error_code":"not_found","data":null},"key":"master_not_found","summary":"master_not_found","id":"paths/~1api~1admin~1complaints~1test/post/responses/404/content/application~1json/examples/master_not_found"},"paths/~1api~1admin~1complaints~1test/post/responses/404/content/application~1json/examples/salon_not_found":{"value":{"success":false,"message":"Salon not found","codeError":"not_found","error_code":"not_found","data":null},"key":"salon_not_found","summary":"salon_not_found","id":"paths/~1api~1admin~1complaints~1test/post/responses/404/content/application~1json/examples/salon_not_found"},"paths/~1api~1admin~1complaints~1test/post/responses/404/content/application~1json/examples/service_not_found":{"value":{"success":false,"message":"Service not found","codeError":"not_found","error_code":"not_found","data":null},"key":"service_not_found","summary":"service_not_found","id":"paths/~1api~1admin~1complaints~1test/post/responses/404/content/application~1json/examples/service_not_found"},"paths/~1api~1admin~1complaints~1test/post/responses/404/content/application~1json/examples/review_not_found":{"value":{"success":false,"message":"Review not found","codeError":"not_found","error_code":"not_found","data":null},"key":"review_not_found","summary":"review_not_found","id":"paths/~1api~1admin~1complaints~1test/post/responses/404/content/application~1json/examples/review_not_found"},"paths/~1api~1admin~1complaints~1test/post/responses/415/content/application~1json/example":{"value":{"success":false,"message":"Content-Type 'text/plain' is not supported","codeError":"invalid_body","error_code":"invalid_body","data":null},"id":"paths/~1api~1admin~1complaints~1test/post/responses/415/content/application~1json/example"},"paths/~1api~1admin~1categories/get/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Categories retrieved successfully","codeError":null,"error_code":null,"data":[{"id":1,"name":"Красота","parent_id":null,"image_id":201,"sort_order":10,"children_count":3,"services_count":12}]},"id":"paths/~1api~1admin~1categories/get/responses/200/content/application~1json/example"},"paths/~1api~1admin~1categories/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1admin~1categories/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1admin~1categories/get/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1admin~1categories/get/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1admin~1categories/post/requestBody/content/application~1json/example":{"value":{"name":"Уход за волосами","image_id":201,"subcategories":[{"name":"Маникюр"},{"name":"Педикюр"}]},"id":"paths/~1api~1admin~1categories/post/requestBody/content/application~1json/example"},"paths/~1api~1admin~1categories/post/responses/201/content/application~1json/example":{"value":{"success":true,"message":"Category created successfully","codeError":null,"error_code":null,"data":{"id":2,"name":"Уход за волосами","image_id":201,"min_price":null,"min_duration":null,"children":[{"id":3,"name":"Маникюр","parent_id":2,"image_id":null,"min_price":null,"min_duration":null,"children":[]},{"id":4,"name":"Педикюр","parent_id":2,"image_id":null,"min_price":null,"min_duration":null,"children":[]}]}},"id":"paths/~1api~1admin~1categories/post/responses/201/content/application~1json/example"},"paths/~1api~1admin~1categories/post/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1admin~1categories/post/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1admin~1categories/post/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1admin~1categories/post/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1admin~1categories/post/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1admin~1categories/post/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1admin~1categories/post/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1admin~1categories/post/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1admin~1categories/post/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1admin~1categories/post/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1admin~1categories~1{categoryId}/patch/requestBody/content/application~1json/example":{"value":{"name":"Волосы и укладка","image_id":202,"subcategories":[{"category_id":10,"name":"Маникюр"},{"name":"Педикюр"}]},"id":"paths/~1api~1admin~1categories~1{categoryId}/patch/requestBody/content/application~1json/example"},"paths/~1api~1admin~1categories~1{categoryId}/patch/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Category updated successfully","codeError":null,"error_code":null,"data":{"changed":true,"category":{"id":2,"name":"Волосы и укладка","parent_id":1,"image_id":202,"min_price":1500,"min_duration":60,"children":[]}}},"id":"paths/~1api~1admin~1categories~1{categoryId}/patch/responses/200/content/application~1json/example"},"paths/~1api~1admin~1categories~1{categoryId}/patch/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1admin~1categories~1{categoryId}/patch/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1admin~1categories~1{categoryId}/patch/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1admin~1categories~1{categoryId}/patch/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1admin~1categories~1{categoryId}/patch/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1admin~1categories~1{categoryId}/patch/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1admin~1categories~1{categoryId}/patch/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1admin~1categories~1{categoryId}/patch/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1admin~1categories~1{categoryId}/patch/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1admin~1categories~1{categoryId}/patch/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1admin~1categories~1{categoryId}/patch/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Resource not found","codeError":"not_found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1admin~1categories~1{categoryId}/patch/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1admin~1categories~1{categoryId}/patch/responses/409/content/application~1json/examples/conflict":{"value":{"success":false,"message":"Request conflicts with the current resource state","codeError":"conflict","error_code":"conflict","data":null},"key":"conflict","summary":"conflict","id":"paths/~1api~1admin~1categories~1{categoryId}/patch/responses/409/content/application~1json/examples/conflict"},"paths/~1api~1admin~1categories~1{categoryId}/delete/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Category deleted successfully","codeError":null,"error_code":null,"data":{"deleted":true}},"id":"paths/~1api~1admin~1categories~1{categoryId}/delete/responses/200/content/application~1json/example"},"paths/~1api~1admin~1categories~1{categoryId}/delete/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1admin~1categories~1{categoryId}/delete/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1admin~1categories~1{categoryId}/delete/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1admin~1categories~1{categoryId}/delete/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1admin~1categories~1{categoryId}/delete/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1admin~1categories~1{categoryId}/delete/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1admin~1categories~1{categoryId}/delete/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1admin~1categories~1{categoryId}/delete/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1admin~1categories~1{categoryId}/delete/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1admin~1categories~1{categoryId}/delete/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1admin~1categories~1{categoryId}/delete/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Resource not found","codeError":"not_found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1admin~1categories~1{categoryId}/delete/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1admin~1categories~1{categoryId}/delete/responses/409/content/application~1json/examples/conflict":{"value":{"success":false,"message":"Request conflicts with the current resource state","codeError":"conflict","error_code":"conflict","data":null},"key":"conflict","summary":"conflict","id":"paths/~1api~1admin~1categories~1{categoryId}/delete/responses/409/content/application~1json/examples/conflict"},"paths/~1api~1admin~1categories~1{categoryId}~1subcategories/get/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Subcategories retrieved successfully","codeError":null,"error_code":null,"data":[{"id":2,"name":"Уход за волосами","parent_id":1,"image_id":202,"sort_order":10,"children_count":0,"services_count":8}]},"id":"paths/~1api~1admin~1categories~1{categoryId}~1subcategories/get/responses/200/content/application~1json/example"},"paths/~1api~1admin~1categories~1{categoryId}~1subcategories/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1admin~1categories~1{categoryId}~1subcategories/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1admin~1categories~1{categoryId}~1subcategories/get/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1admin~1categories~1{categoryId}~1subcategories/get/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1admin~1categories~1{categoryId}~1subcategories/get/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Resource not found","codeError":"not_found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1admin~1categories~1{categoryId}~1subcategories/get/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1admin~1referral~1stats/get/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Referral statistics retrieved successfully","codeError":null,"error_code":null,"data":{"period":{"from":"2026-06-01","to":"2026-06-30","previous_from":"2026-05-02","previous_to":"2026-05-31"},"total_referrals":3842,"total_referrals_change_percent":8.2,"conversion_percent":24.6,"conversion_change_percentage_points":2.1,"active_ambassadors":612,"active_ambassadors_change_percent":4.7}},"id":"paths/~1api~1admin~1referral~1stats/get/responses/200/content/application~1json/example"},"paths/~1api~1admin~1referral~1stats/get/responses/400/content/application~1json/examples/missing_period":{"value":{"success":false,"message":"Period from and to are required","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"missing_period","summary":"missing_period","id":"paths/~1api~1admin~1referral~1stats/get/responses/400/content/application~1json/examples/missing_period"},"paths/~1api~1admin~1referral~1stats/get/responses/400/content/application~1json/examples/invalid_order":{"value":{"success":false,"message":"Period from must be before or equal to period to","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_order","summary":"invalid_order","id":"paths/~1api~1admin~1referral~1stats/get/responses/400/content/application~1json/examples/invalid_order"},"paths/~1api~1admin~1referral~1stats/get/responses/400/content/application~1json/examples/unsupported_boundaries":{"value":{"success":false,"message":"Period is outside the supported date range","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_boundaries","summary":"unsupported_boundaries","id":"paths/~1api~1admin~1referral~1stats/get/responses/400/content/application~1json/examples/unsupported_boundaries"},"paths/~1api~1admin~1referral~1stats/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1admin~1referral~1stats/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1admin~1referral~1stats/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission":{"value":{"success":false,"message":"Admin panel permission denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"insufficient_admin_panel_permission","summary":"Недостаточный уровень permission раздела","id":"paths/~1api~1admin~1referral~1stats/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission"},"paths/~1api~1admin~1referral~1stats/get/responses/403/content/application~1json/examples/admin_role_required":{"value":{"success":false,"message":"Forbidden","codeError":"forbidden","error_code":"forbidden","data":null},"key":"admin_role_required","summary":"У пользователя отсутствует роль ADMIN","id":"paths/~1api~1admin~1referral~1stats/get/responses/403/content/application~1json/examples/admin_role_required"},"paths/~1api~1admin~1referral~1profit/get/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Referral profit retrieved successfully","codeError":null,"error_code":null,"data":{"from":"2026-06-01","to":"2026-06-30","commission_percent":15,"points":[{"date":"2026-06-01","earned_amount":10300000,"spent_amount":2100000},{"date":"2026-06-02","earned_amount":9800000,"spent_amount":2200000}]}},"id":"paths/~1api~1admin~1referral~1profit/get/responses/200/content/application~1json/example"},"paths/~1api~1admin~1referral~1profit/get/responses/400/content/application~1json/examples/missing_period":{"value":{"success":false,"message":"Period from and to are required","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"missing_period","summary":"missing_period","id":"paths/~1api~1admin~1referral~1profit/get/responses/400/content/application~1json/examples/missing_period"},"paths/~1api~1admin~1referral~1profit/get/responses/400/content/application~1json/examples/invalid_order":{"value":{"success":false,"message":"Period from must be before or equal to period to","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_order","summary":"invalid_order","id":"paths/~1api~1admin~1referral~1profit/get/responses/400/content/application~1json/examples/invalid_order"},"paths/~1api~1admin~1referral~1profit/get/responses/400/content/application~1json/examples/unsupported_boundaries":{"value":{"success":false,"message":"Period is outside the supported date range","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_boundaries","summary":"unsupported_boundaries","id":"paths/~1api~1admin~1referral~1profit/get/responses/400/content/application~1json/examples/unsupported_boundaries"},"paths/~1api~1admin~1referral~1profit/get/responses/400/content/application~1json/examples/profit_period_too_long":{"value":{"success":false,"message":"Profit chart period must not exceed 366 days","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"profit_period_too_long","summary":"profit_period_too_long","id":"paths/~1api~1admin~1referral~1profit/get/responses/400/content/application~1json/examples/profit_period_too_long"},"paths/~1api~1admin~1referral~1profit/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1admin~1referral~1profit/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1admin~1referral~1profit/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission":{"value":{"success":false,"message":"Admin panel permission denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"insufficient_admin_panel_permission","summary":"Недостаточный уровень permission раздела","id":"paths/~1api~1admin~1referral~1profit/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission"},"paths/~1api~1admin~1referral~1profit/get/responses/403/content/application~1json/examples/admin_role_required":{"value":{"success":false,"message":"Forbidden","codeError":"forbidden","error_code":"forbidden","data":null},"key":"admin_role_required","summary":"У пользователя отсутствует роль ADMIN","id":"paths/~1api~1admin~1referral~1profit/get/responses/403/content/application~1json/examples/admin_role_required"},"paths/~1api~1admin~1referral~1rules/get/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Referral rules retrieved successfully","codeError":null,"error_code":null,"data":{"items":[{"id":1,"target_type":"CLIENT","condition_text":"Пригласи 1/7 друзей","reward_percent":1,"reward_interval":"ALL_SERVICES"}],"offset":0,"limit":20,"has_more":false,"total_count":2}},"id":"paths/~1api~1admin~1referral~1rules/get/responses/200/content/application~1json/example"},"paths/~1api~1admin~1referral~1rules/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1admin~1referral~1rules/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1admin~1referral~1rules/get/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1admin~1referral~1rules/get/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1admin~1referral~1rules~1{ruleId}/patch/requestBody/content/application~1json/example":{"value":{"reward_percent":10,"reward_interval":"NEXT_SERVICE"},"id":"paths/~1api~1admin~1referral~1rules~1{ruleId}/patch/requestBody/content/application~1json/example"},"paths/~1api~1admin~1referral~1rules~1{ruleId}/patch/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Referral rule updated successfully","codeError":null,"error_code":null,"data":{"id":6,"target_type":"CLIENT","condition_text":"За каждого +1 друга","reward_percent":10,"reward_interval":"NEXT_SERVICE"}},"id":"paths/~1api~1admin~1referral~1rules~1{ruleId}/patch/responses/200/content/application~1json/example"},"paths/~1api~1admin~1referral~1rules~1{ruleId}/patch/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1admin~1referral~1rules~1{ruleId}/patch/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1admin~1referral~1rules~1{ruleId}/patch/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1admin~1referral~1rules~1{ruleId}/patch/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1admin~1referral~1rules~1{ruleId}/patch/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1admin~1referral~1rules~1{ruleId}/patch/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1admin~1referral~1rules~1{ruleId}/patch/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1admin~1referral~1rules~1{ruleId}/patch/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1admin~1referral~1rules~1{ruleId}/patch/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1admin~1referral~1rules~1{ruleId}/patch/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1admin~1referral~1rules~1{ruleId}/patch/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Resource not found","codeError":"not_found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1admin~1referral~1rules~1{ruleId}/patch/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1admin~1clients/get/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Clients retrieved successfully","codeError":null,"error_code":null,"data":{"period":{"from":"2026-07-01","to":"2026-07-31"},"items":[{"id":101,"first_name":"Мария","last_name":"Иванова","full_name":"Мария Иванова","phone":"+375291112233","city":"Минск","avatar":7001,"registered_at":"2026-07-05T09:30:00Z","records_count":4,"spent_amount":12500,"status":"ACTIVE","blocked_at":null,"block_reason":null}],"offset":0,"limit":20,"has_more":false}},"id":"paths/~1api~1admin~1clients/get/responses/200/content/application~1json/example"},"paths/~1api~1admin~1clients/get/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1admin~1clients/get/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1admin~1clients/get/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1admin~1clients/get/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1admin~1clients/get/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1admin~1clients/get/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1admin~1clients/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1admin~1clients/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1admin~1clients/get/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1admin~1clients/get/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1admin~1clients~1{clientId}~1chats/get/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Client chats retrieved successfully","codeError":null,"error_code":null,"data":{"items":[{"dialog_id":42,"display_name":"Анна Л."},{"dialog_id":41,"display_name":"Ирина К."}],"offset":0,"limit":20,"has_more":false}},"id":"paths/~1api~1admin~1clients~1{clientId}~1chats/get/responses/200/content/application~1json/example"},"paths/~1api~1admin~1clients~1{clientId}~1chats/get/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1admin~1clients~1{clientId}~1chats/get/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1admin~1clients~1{clientId}~1chats/get/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1admin~1clients~1{clientId}~1chats/get/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1admin~1clients~1{clientId}~1chats/get/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1admin~1clients~1{clientId}~1chats/get/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1admin~1clients~1{clientId}~1chats/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1admin~1clients~1{clientId}~1chats/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1admin~1clients~1{clientId}~1chats/get/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1admin~1clients~1{clientId}~1chats/get/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1admin~1clients~1chats~1{dialogId}~1messages/get/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Chat history retrieved successfully","codeError":null,"error_code":null,"data":{"dialog_id":33,"client":{"id":92001006,"first_name":"Мария","last_name":"Иванова","display_name":"Мария И.","phone":"+375290100106","avatar_id":null},"messages":[{"id":130,"text":"Здравствуйте","at_create":"2026:07:04:19:36","updated_at":null,"from":{"id":92001000,"display_name":"Салон красоты","avatar_id":null},"to":{"id":92001006,"display_name":"Мария И.","avatar_id":null}}],"offset":null,"limit":50,"has_more":false,"next_before_id":null}},"id":"paths/~1api~1admin~1clients~1chats~1{dialogId}~1messages/get/responses/200/content/application~1json/example"},"paths/~1api~1admin~1clients~1chats~1{dialogId}~1messages/get/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1admin~1clients~1chats~1{dialogId}~1messages/get/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1admin~1clients~1chats~1{dialogId}~1messages/get/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1admin~1clients~1chats~1{dialogId}~1messages/get/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1admin~1clients~1chats~1{dialogId}~1messages/get/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1admin~1clients~1chats~1{dialogId}~1messages/get/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1admin~1clients~1chats~1{dialogId}~1messages/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1admin~1clients~1chats~1{dialogId}~1messages/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1admin~1clients~1chats~1{dialogId}~1messages/get/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1admin~1clients~1chats~1{dialogId}~1messages/get/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1admin~1clients~1chats~1{dialogId}~1messages/get/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Resource not found","codeError":"not_found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1admin~1clients~1chats~1{dialogId}~1messages/get/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1admin~1block-reasons/get/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Block reasons retrieved successfully","codeError":null,"error_code":null,"data":{"target":"MASTER","items":[{"reason":"Опоздания без предупреждения","description":"5+ случаев; опоздание более чем на 15 минут"}]}},"id":"paths/~1api~1admin~1block-reasons/get/responses/200/content/application~1json/example"},"paths/~1api~1admin~1block-reasons/get/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1admin~1block-reasons/get/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1admin~1block-reasons/get/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1admin~1block-reasons/get/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1admin~1block-reasons/get/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1admin~1block-reasons/get/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1admin~1block-reasons/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1admin~1block-reasons/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1admin~1block-reasons/get/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1admin~1block-reasons/get/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1admin~1clients~1stats/get/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Client statistics retrieved successfully","codeError":null,"error_code":null,"data":{"period":{"from":"2026-07-01","to":"2026-07-31","previous_from":"2026-05-31","previous_to":"2026-06-30"},"total_users":1250,"total_users_change_percent":4.5,"new_users":120,"new_users_change_percent":9.1,"active_users":640,"active_users_change_percent":3.2,"blocked_users":15,"blocked_users_change_percent":-6.25}},"id":"paths/~1api~1admin~1clients~1stats/get/responses/200/content/application~1json/example"},"paths/~1api~1admin~1clients~1stats/get/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1admin~1clients~1stats/get/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1admin~1clients~1stats/get/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1admin~1clients~1stats/get/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1admin~1clients~1stats/get/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1admin~1clients~1stats/get/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1admin~1clients~1stats/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1admin~1clients~1stats/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1admin~1clients~1stats/get/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1admin~1clients~1stats/get/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1admin~1clients~1{id}/get/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Client retrieved successfully","codeError":null,"error_code":null,"data":{"id":101,"first_name":"Мария","last_name":"Иванова","avatar":7001,"city":"Минск","address":"ул. Немига, 10","phone":"+375291112233","email":"maria@example.com","status":"BLOCKED","block_reason":"Систематические неявки","blocked_by":{"id":501,"first_name":"Иван","last_name":"Иванов","display_name":"Иван Иванов"}}},"id":"paths/~1api~1admin~1clients~1{id}/get/responses/200/content/application~1json/example"},"paths/~1api~1admin~1clients~1{id}/get/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1admin~1clients~1{id}/get/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1admin~1clients~1{id}/get/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1admin~1clients~1{id}/get/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1admin~1clients~1{id}/get/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1admin~1clients~1{id}/get/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1admin~1clients~1{id}/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1admin~1clients~1{id}/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1admin~1clients~1{id}/get/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1admin~1clients~1{id}/get/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1admin~1clients~1{id}/get/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Resource not found","codeError":"not_found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1admin~1clients~1{id}/get/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1admin~1clients~1{id}/patch/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Client updated successfully","codeError":null,"error_code":null,"data":{"id":101,"first_name":"Мария","last_name":"Иванова","avatar":7001,"city":"Минск","address":"пр-т Победителей, 20","phone":"+375291112233","email":"maria@example.com","status":"ACTIVE","block_reason":null,"blocked_by":null}},"id":"paths/~1api~1admin~1clients~1{id}/patch/responses/200/content/application~1json/example"},"paths/~1api~1admin~1clients~1{id}/patch/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1admin~1clients~1{id}/patch/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1admin~1clients~1{id}/patch/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1admin~1clients~1{id}/patch/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1admin~1clients~1{id}/patch/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1admin~1clients~1{id}/patch/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1admin~1clients~1{id}/patch/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1admin~1clients~1{id}/patch/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1admin~1clients~1{id}/patch/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1admin~1clients~1{id}/patch/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1admin~1clients~1{id}/patch/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Resource not found","codeError":"not_found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1admin~1clients~1{id}/patch/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1admin~1clients~1{id}~1block/post/requestBody/content/application~1json/example":{"value":{"reason":"Систематические неявки"},"id":"paths/~1api~1admin~1clients~1{id}~1block/post/requestBody/content/application~1json/example"},"paths/~1api~1admin~1clients~1{id}~1block/post/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Client blocked successfully","codeError":null,"error_code":null,"data":{"blocked":true,"client_id":101}},"id":"paths/~1api~1admin~1clients~1{id}~1block/post/responses/200/content/application~1json/example"},"paths/~1api~1admin~1clients~1{id}~1block/post/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1admin~1clients~1{id}~1block/post/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1admin~1clients~1{id}~1block/post/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1admin~1clients~1{id}~1block/post/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1admin~1clients~1{id}~1block/post/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1admin~1clients~1{id}~1block/post/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1admin~1clients~1{id}~1block/post/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1admin~1clients~1{id}~1block/post/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1admin~1clients~1{id}~1block/post/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1admin~1clients~1{id}~1block/post/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1admin~1clients~1{id}~1block/post/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Resource not found","codeError":"not_found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1admin~1clients~1{id}~1block/post/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1admin~1clients~1{id}~1unblock/post/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Client unblocked successfully","codeError":null,"error_code":null,"data":{"blocked":false,"client_id":101}},"id":"paths/~1api~1admin~1clients~1{id}~1unblock/post/responses/200/content/application~1json/example"},"paths/~1api~1admin~1clients~1{id}~1unblock/post/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1admin~1clients~1{id}~1unblock/post/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1admin~1clients~1{id}~1unblock/post/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1admin~1clients~1{id}~1unblock/post/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1admin~1clients~1{id}~1unblock/post/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1admin~1clients~1{id}~1unblock/post/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1admin~1clients~1{id}~1unblock/post/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1admin~1clients~1{id}~1unblock/post/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1admin~1clients~1{id}~1unblock/post/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1admin~1clients~1{id}~1unblock/post/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1admin~1clients~1{id}~1unblock/post/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Resource not found","codeError":"not_found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1admin~1clients~1{id}~1unblock/post/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1admin~1clients~1{id}~1unblock/post/responses/409/content/application~1json/examples/conflict":{"value":{"success":false,"message":"Request conflicts with the current resource state","codeError":"conflict","error_code":"conflict","data":null},"key":"conflict","summary":"conflict","id":"paths/~1api~1admin~1clients~1{id}~1unblock/post/responses/409/content/application~1json/examples/conflict"},"paths/~1api~1admin~1records/get/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1admin~1records/get/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1admin~1records/get/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1admin~1records/get/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1admin~1records/get/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1admin~1records/get/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1admin~1records/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1admin~1records/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1admin~1records/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission":{"value":{"success":false,"message":"Admin panel permission denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"insufficient_admin_panel_permission","summary":"Недостаточный уровень permission раздела","id":"paths/~1api~1admin~1records/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission"},"paths/~1api~1admin~1records/get/responses/403/content/application~1json/examples/admin_role_required":{"value":{"success":false,"message":"Forbidden","codeError":"forbidden","error_code":"forbidden","data":null},"key":"admin_role_required","summary":"У пользователя отсутствует роль ADMIN","id":"paths/~1api~1admin~1records/get/responses/403/content/application~1json/examples/admin_role_required"},"paths/~1api~1admin~1records~1{recordId}/get/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1admin~1records~1{recordId}/get/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1admin~1records~1{recordId}/get/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1admin~1records~1{recordId}/get/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1admin~1records~1{recordId}/get/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1admin~1records~1{recordId}/get/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1admin~1records~1{recordId}/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1admin~1records~1{recordId}/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1admin~1records~1{recordId}/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission":{"value":{"success":false,"message":"Admin panel permission denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"insufficient_admin_panel_permission","summary":"Недостаточный уровень permission раздела","id":"paths/~1api~1admin~1records~1{recordId}/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission"},"paths/~1api~1admin~1records~1{recordId}/get/responses/403/content/application~1json/examples/admin_role_required":{"value":{"success":false,"message":"Forbidden","codeError":"forbidden","error_code":"forbidden","data":null},"key":"admin_role_required","summary":"У пользователя отсутствует роль ADMIN","id":"paths/~1api~1admin~1records~1{recordId}/get/responses/403/content/application~1json/examples/admin_role_required"},"paths/~1api~1admin~1records~1{recordId}/get/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Resource not found","codeError":"not_found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1admin~1records~1{recordId}/get/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1admin~1records~1{recordId}~1cancel/post/requestBody/content/application~1json/example":{"value":{"reason":"Мастер не может оказать услугу"},"id":"paths/~1api~1admin~1records~1{recordId}~1cancel/post/requestBody/content/application~1json/example"},"paths/~1api~1admin~1records~1{recordId}~1cancel/post/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1admin~1records~1{recordId}~1cancel/post/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1admin~1records~1{recordId}~1cancel/post/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1admin~1records~1{recordId}~1cancel/post/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1admin~1records~1{recordId}~1cancel/post/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1admin~1records~1{recordId}~1cancel/post/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1admin~1records~1{recordId}~1cancel/post/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1admin~1records~1{recordId}~1cancel/post/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1admin~1records~1{recordId}~1cancel/post/responses/403/content/application~1json/examples/insufficient_admin_panel_permission":{"value":{"success":false,"message":"Admin panel permission denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"insufficient_admin_panel_permission","summary":"Недостаточный уровень permission раздела","id":"paths/~1api~1admin~1records~1{recordId}~1cancel/post/responses/403/content/application~1json/examples/insufficient_admin_panel_permission"},"paths/~1api~1admin~1records~1{recordId}~1cancel/post/responses/403/content/application~1json/examples/admin_role_required":{"value":{"success":false,"message":"Forbidden","codeError":"forbidden","error_code":"forbidden","data":null},"key":"admin_role_required","summary":"У пользователя отсутствует роль ADMIN","id":"paths/~1api~1admin~1records~1{recordId}~1cancel/post/responses/403/content/application~1json/examples/admin_role_required"},"paths/~1api~1admin~1records~1{recordId}~1cancel/post/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Resource not found","codeError":"not_found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1admin~1records~1{recordId}~1cancel/post/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1admin~1records~1stats/get/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Record statistics retrieved successfully","codeError":null,"error_code":null,"data":{"period":{"from":"2026-07-01","to":"2026-07-31","previous_from":"2026-05-31","previous_to":"2026-06-30"},"total_records":4517,"total_records_change_percent":14.2,"completed_records":3104,"completed_records_percent":68.7,"waiting_records":286,"waiting_records_percent":6.3,"canceled_records":127,"canceled_records_percent":2.8}},"id":"paths/~1api~1admin~1records~1stats/get/responses/200/content/application~1json/example"},"paths/~1api~1admin~1records~1stats/get/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1admin~1records~1stats/get/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1admin~1records~1stats/get/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1admin~1records~1stats/get/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1admin~1records~1stats/get/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1admin~1records~1stats/get/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1admin~1records~1stats/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1admin~1records~1stats/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1admin~1records~1stats/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission":{"value":{"success":false,"message":"Admin panel permission denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"insufficient_admin_panel_permission","summary":"Недостаточный уровень permission раздела","id":"paths/~1api~1admin~1records~1stats/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission"},"paths/~1api~1admin~1records~1stats/get/responses/403/content/application~1json/examples/admin_role_required":{"value":{"success":false,"message":"Forbidden","codeError":"forbidden","error_code":"forbidden","data":null},"key":"admin_role_required","summary":"У пользователя отсутствует роль ADMIN","id":"paths/~1api~1admin~1records~1stats/get/responses/403/content/application~1json/examples/admin_role_required"},"paths/~1api~1admin~1masters-salons/get/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Masters and salons retrieved successfully","codeError":null,"error_code":null,"data":{"period":{"from":"2026-07-01","to":"2026-07-31"},"items":[{"id":201,"name":"Анна Петрова","phone":"+375292223344","avatar":7101,"role":"MASTER","city":"Минск","salonId":null,"salonName":null,"rating":4.9,"reviews_count":87,"income_amount":245000,"registeredAt":"2026-01-10T08:00:00Z","status":"ACTIVE","blockedAt":null,"blockReason":null},{"id":301,"name":"Салон Лаванда","phone":"+375293334455","avatar":7201,"role":"SALON","city":"Минск","salonId":55,"salonName":"Салон Лаванда","rating":4.8,"reviews_count":152,"income_amount":680000,"registeredAt":"2025-11-20T10:00:00Z","status":"ACTIVE","blockedAt":null,"blockReason":null}],"offset":0,"limit":20,"has_more":false}},"id":"paths/~1api~1admin~1masters-salons/get/responses/200/content/application~1json/example"},"paths/~1api~1admin~1masters-salons/get/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1admin~1masters-salons/get/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1admin~1masters-salons/get/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1admin~1masters-salons/get/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1admin~1masters-salons/get/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1admin~1masters-salons/get/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1admin~1masters-salons/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1admin~1masters-salons/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1admin~1masters-salons/get/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1admin~1masters-salons/get/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1admin~1masters-salons~1stats/get/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Master and salon statistics retrieved successfully","codeError":null,"error_code":null,"data":{"period":{"from":"2026-07-01","to":"2026-07-31","previous_from":"2026-05-31","previous_to":"2026-06-30"},"total_masters":420,"total_masters_change_percent":5,"total_salons":85,"total_salons_change_percent":2.4,"active_masters":310,"active_salons":72,"blocked_masters":6,"blocked_salons":2}},"id":"paths/~1api~1admin~1masters-salons~1stats/get/responses/200/content/application~1json/example"},"paths/~1api~1admin~1masters-salons~1stats/get/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1admin~1masters-salons~1stats/get/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1admin~1masters-salons~1stats/get/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1admin~1masters-salons~1stats/get/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1admin~1masters-salons~1stats/get/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1admin~1masters-salons~1stats/get/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1admin~1masters-salons~1stats/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1admin~1masters-salons~1stats/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1admin~1masters-salons~1stats/get/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1admin~1masters-salons~1stats/get/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1admin~1masters~1{id}~1available-categories/get/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Available master categories retrieved successfully","codeError":null,"error_code":null,"data":[{"category_id":1,"name":"Ногтевой сервис"},{"category_id":2,"name":"Макияж"}]},"id":"paths/~1api~1admin~1masters~1{id}~1available-categories/get/responses/200/content/application~1json/example"},"paths/~1api~1admin~1masters~1{id}~1available-categories/get/responses/400/content/application~1json/example":{"value":{"success":false,"message":"Master ID must be greater than 0","codeError":"invalid_body","error_code":"invalid_body","data":null},"id":"paths/~1api~1admin~1masters~1{id}~1available-categories/get/responses/400/content/application~1json/example"},"paths/~1api~1admin~1masters~1{id}~1available-categories/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1admin~1masters~1{id}~1available-categories/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1admin~1masters~1{id}~1available-categories/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission":{"value":{"success":false,"message":"Admin panel permission denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"insufficient_admin_panel_permission","summary":"Недостаточный уровень permission раздела","id":"paths/~1api~1admin~1masters~1{id}~1available-categories/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission"},"paths/~1api~1admin~1masters~1{id}~1available-categories/get/responses/403/content/application~1json/examples/admin_role_required":{"value":{"success":false,"message":"Forbidden","codeError":"forbidden","error_code":"forbidden","data":null},"key":"admin_role_required","summary":"У пользователя отсутствует роль ADMIN","id":"paths/~1api~1admin~1masters~1{id}~1available-categories/get/responses/403/content/application~1json/examples/admin_role_required"},"paths/~1api~1admin~1masters~1{id}~1available-categories/get/responses/404/content/application~1json/example":{"value":{"success":false,"message":"Master not found","codeError":"not_found","error_code":"not_found","data":null},"id":"paths/~1api~1admin~1masters~1{id}~1available-categories/get/responses/404/content/application~1json/example"},"paths/~1api~1admin~1salons~1{id}~1available-categories/get/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Available salon categories retrieved successfully","codeError":null,"error_code":null,"data":[{"category_id":1,"name":"Ногтевой сервис"},{"category_id":3,"name":"SPA-уход"}]},"id":"paths/~1api~1admin~1salons~1{id}~1available-categories/get/responses/200/content/application~1json/example"},"paths/~1api~1admin~1salons~1{id}~1available-categories/get/responses/400/content/application~1json/example":{"value":{"success":false,"message":"Salon ID must be greater than 0","codeError":"invalid_body","error_code":"invalid_body","data":null},"id":"paths/~1api~1admin~1salons~1{id}~1available-categories/get/responses/400/content/application~1json/example"},"paths/~1api~1admin~1salons~1{id}~1available-categories/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1admin~1salons~1{id}~1available-categories/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1admin~1salons~1{id}~1available-categories/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission":{"value":{"success":false,"message":"Admin panel permission denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"insufficient_admin_panel_permission","summary":"Недостаточный уровень permission раздела","id":"paths/~1api~1admin~1salons~1{id}~1available-categories/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission"},"paths/~1api~1admin~1salons~1{id}~1available-categories/get/responses/403/content/application~1json/examples/admin_role_required":{"value":{"success":false,"message":"Forbidden","codeError":"forbidden","error_code":"forbidden","data":null},"key":"admin_role_required","summary":"У пользователя отсутствует роль ADMIN","id":"paths/~1api~1admin~1salons~1{id}~1available-categories/get/responses/403/content/application~1json/examples/admin_role_required"},"paths/~1api~1admin~1salons~1{id}~1available-categories/get/responses/404/content/application~1json/example":{"value":{"success":false,"message":"Salon not found","codeError":"not_found","error_code":"not_found","data":null},"id":"paths/~1api~1admin~1salons~1{id}~1available-categories/get/responses/404/content/application~1json/example"},"paths/~1api~1admin~1masters~1{id}/get/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Master retrieved successfully","codeError":null,"error_code":null,"data":{"user_id":125,"avatar":501,"first_name":"Александр","last_name":"Петров","city":"Москва","experience_years":5,"description":"Мастер маникюра и педикюра","example_work_images":[601,602],"categories":[{"id":1,"name":"Ногтевой сервис"}],"service_locations":[{"service_location":"IN_SALON","salon_name":"Персона","address":"г. Москва, ул. Садовая, д. 10","geolocation":{"lat":55.75,"lon":37.61},"radius_km":null},{"service_location":"CLIENT_PLACE","salon_name":null,"address":null,"geolocation":null,"radius_km":10}],"interior_description":"Уютный кабинет","interior_images":[701],"min_booking_lead_time_minutes":60,"break_after_service_min":15,"status":"BLOCKED","block_reason":"Опоздания без предупреждения","blocked_by":{"id":501,"first_name":"Иван","last_name":"Иванов","display_name":"Иван Иванов"}}},"id":"paths/~1api~1admin~1masters~1{id}/get/responses/200/content/application~1json/example"},"paths/~1api~1admin~1masters~1{id}/get/responses/400/content/application~1json/example":{"value":{"success":false,"message":"Master ID must be greater than 0","codeError":"invalid_body","error_code":"invalid_body","data":null},"id":"paths/~1api~1admin~1masters~1{id}/get/responses/400/content/application~1json/example"},"paths/~1api~1admin~1masters~1{id}/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1admin~1masters~1{id}/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1admin~1masters~1{id}/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission":{"value":{"success":false,"message":"Admin panel permission denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"insufficient_admin_panel_permission","summary":"Недостаточный уровень permission раздела","id":"paths/~1api~1admin~1masters~1{id}/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission"},"paths/~1api~1admin~1masters~1{id}/get/responses/403/content/application~1json/examples/admin_role_required":{"value":{"success":false,"message":"Forbidden","codeError":"forbidden","error_code":"forbidden","data":null},"key":"admin_role_required","summary":"У пользователя отсутствует роль ADMIN","id":"paths/~1api~1admin~1masters~1{id}/get/responses/403/content/application~1json/examples/admin_role_required"},"paths/~1api~1admin~1masters~1{id}/get/responses/404/content/application~1json/example":{"value":{"success":false,"message":"Master not found","codeError":"not_found","error_code":"not_found","data":null},"id":"paths/~1api~1admin~1masters~1{id}/get/responses/404/content/application~1json/example"},"paths/~1api~1admin~1masters~1{id}/patch/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Master updated successfully","codeError":null,"error_code":null,"data":{"user_id":125,"avatar":501,"first_name":"Александр","last_name":"Петров","city":"Москва","experience_years":6,"description":"Мастер маникюра и педикюра","example_work_images":[601,602],"categories":[{"id":1,"name":"Ногтевой сервис"}],"service_locations":[{"service_location":"AT_MASTER_PLACE","salon_name":null,"address":"г. Москва, ул. Садовая, д. 10","geolocation":{"lat":55.75,"lon":37.61},"radius_km":null}],"interior_description":"Уютный кабинет","interior_images":[701],"min_booking_lead_time_minutes":60,"break_after_service_min":15,"status":"ACTIVE","block_reason":null,"blocked_by":null}},"id":"paths/~1api~1admin~1masters~1{id}/patch/responses/200/content/application~1json/example"},"paths/~1api~1admin~1masters~1{id}/patch/responses/400/content/application~1json/examples/invalid_master_id":{"value":{"success":false,"message":"Master ID must be greater than 0","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_master_id","summary":"invalid_master_id","id":"paths/~1api~1admin~1masters~1{id}/patch/responses/400/content/application~1json/examples/invalid_master_id"},"paths/~1api~1admin~1masters~1{id}/patch/responses/400/content/application~1json/examples/empty_body":{"value":{"success":false,"message":"At least one field must be provided","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"empty_body","summary":"empty_body","id":"paths/~1api~1admin~1masters~1{id}/patch/responses/400/content/application~1json/examples/empty_body"},"paths/~1api~1admin~1masters~1{id}/patch/responses/400/content/application~1json/examples/read_only_image":{"value":{"success":false,"message":"Field 'avatar' cannot be updated","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"read_only_image","summary":"read_only_image","id":"paths/~1api~1admin~1masters~1{id}/patch/responses/400/content/application~1json/examples/read_only_image"},"paths/~1api~1admin~1masters~1{id}/patch/responses/400/content/application~1json/examples/invalid_service_locations":{"value":{"success":false,"message":"Service locations are invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_service_locations","summary":"invalid_service_locations","id":"paths/~1api~1admin~1masters~1{id}/patch/responses/400/content/application~1json/examples/invalid_service_locations"},"paths/~1api~1admin~1masters~1{id}/patch/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1admin~1masters~1{id}/patch/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1admin~1masters~1{id}/patch/responses/403/content/application~1json/examples/insufficient_admin_panel_permission":{"value":{"success":false,"message":"Admin panel permission denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"insufficient_admin_panel_permission","summary":"Недостаточный уровень permission раздела","id":"paths/~1api~1admin~1masters~1{id}/patch/responses/403/content/application~1json/examples/insufficient_admin_panel_permission"},"paths/~1api~1admin~1masters~1{id}/patch/responses/403/content/application~1json/examples/admin_role_required":{"value":{"success":false,"message":"Forbidden","codeError":"forbidden","error_code":"forbidden","data":null},"key":"admin_role_required","summary":"У пользователя отсутствует роль ADMIN","id":"paths/~1api~1admin~1masters~1{id}/patch/responses/403/content/application~1json/examples/admin_role_required"},"paths/~1api~1admin~1masters~1{id}/patch/responses/404/content/application~1json/examples/master_not_found":{"value":{"success":false,"message":"Master not found","codeError":"not_found","error_code":"not_found","data":null},"key":"master_not_found","summary":"master_not_found","id":"paths/~1api~1admin~1masters~1{id}/patch/responses/404/content/application~1json/examples/master_not_found"},"paths/~1api~1admin~1masters~1{id}/patch/responses/404/content/application~1json/examples/category_not_found":{"value":{"success":false,"message":"Category not found","codeError":"not_found","error_code":"not_found","data":null},"key":"category_not_found","summary":"category_not_found","id":"paths/~1api~1admin~1masters~1{id}/patch/responses/404/content/application~1json/examples/category_not_found"},"paths/~1api~1admin~1masters~1{id}/patch/responses/409/content/application~1json/examples/object_modified_by_another_thread":{"value":{"success":false,"message":"Object was modified by another request. Please reload and try again.","codeError":"object_modified_by_another_thread","error_code":"object_modified_by_another_thread","data":null},"key":"object_modified_by_another_thread","summary":"object_modified_by_another_thread","id":"paths/~1api~1admin~1masters~1{id}/patch/responses/409/content/application~1json/examples/object_modified_by_another_thread"},"paths/~1api~1admin~1salons~1{id}/get/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Salon retrieved successfully","codeError":null,"error_code":null,"data":{"salon_id":42,"name":"Персона","city":"Москва","address":"г. Москва, ул. Садовая, д. 10","geolocation":{"lat":55.75,"lon":37.61},"contact_phone":"+7 (999) 123-45-67","cover_photo_id":801,"categories":[{"id":1,"name":"Ногтевой сервис"}],"description":"Салон красоты в центре города","interior_description":"Светлый современный интерьер","interior_images":[802,803],"working_days":[{"day_of_week":"MONDAY","working":true,"start_time":"09:00","end_time":"20:00"},{"day_of_week":"SUNDAY","working":false,"start_time":null,"end_time":null}],"status":"BLOCKED","block_reason":"Мастера не выходят на смены","blocked_by":{"id":501,"first_name":"Иван","last_name":"Иванов","display_name":"Иван Иванов"}}},"id":"paths/~1api~1admin~1salons~1{id}/get/responses/200/content/application~1json/example"},"paths/~1api~1admin~1salons~1{id}/get/responses/400/content/application~1json/example":{"value":{"success":false,"message":"Salon ID must be greater than 0","codeError":"invalid_body","error_code":"invalid_body","data":null},"id":"paths/~1api~1admin~1salons~1{id}/get/responses/400/content/application~1json/example"},"paths/~1api~1admin~1salons~1{id}/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1admin~1salons~1{id}/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1admin~1salons~1{id}/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission":{"value":{"success":false,"message":"Admin panel permission denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"insufficient_admin_panel_permission","summary":"Недостаточный уровень permission раздела","id":"paths/~1api~1admin~1salons~1{id}/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission"},"paths/~1api~1admin~1salons~1{id}/get/responses/403/content/application~1json/examples/admin_role_required":{"value":{"success":false,"message":"Forbidden","codeError":"forbidden","error_code":"forbidden","data":null},"key":"admin_role_required","summary":"У пользователя отсутствует роль ADMIN","id":"paths/~1api~1admin~1salons~1{id}/get/responses/403/content/application~1json/examples/admin_role_required"},"paths/~1api~1admin~1salons~1{id}/get/responses/404/content/application~1json/example":{"value":{"success":false,"message":"Salon not found","codeError":"not_found","error_code":"not_found","data":null},"id":"paths/~1api~1admin~1salons~1{id}/get/responses/404/content/application~1json/example"},"paths/~1api~1admin~1salons~1{id}/patch/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Salon updated successfully","codeError":null,"error_code":null,"data":{"salon_id":42,"name":"Персона","city":"Москва","address":"г. Москва, ул. Садовая, д. 10","geolocation":{"lat":55.75,"lon":37.61},"contact_phone":"+7 (999) 123-45-67","cover_photo_id":801,"categories":[{"id":1,"name":"Ногтевой сервис"}],"description":"Обновлённое описание салона","interior_description":"Светлый современный интерьер","interior_images":[802,803],"working_days":[{"day_of_week":"MONDAY","working":true,"start_time":"09:00","end_time":"20:00"},{"day_of_week":"SUNDAY","working":false,"start_time":null,"end_time":null}],"status":"ACTIVE","block_reason":null,"blocked_by":null}},"id":"paths/~1api~1admin~1salons~1{id}/patch/responses/200/content/application~1json/example"},"paths/~1api~1admin~1salons~1{id}/patch/responses/400/content/application~1json/examples/invalid_salon_id":{"value":{"success":false,"message":"Salon ID must be greater than 0","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_salon_id","summary":"invalid_salon_id","id":"paths/~1api~1admin~1salons~1{id}/patch/responses/400/content/application~1json/examples/invalid_salon_id"},"paths/~1api~1admin~1salons~1{id}/patch/responses/400/content/application~1json/examples/empty_body":{"value":{"success":false,"message":"At least one field must be provided","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"empty_body","summary":"empty_body","id":"paths/~1api~1admin~1salons~1{id}/patch/responses/400/content/application~1json/examples/empty_body"},"paths/~1api~1admin~1salons~1{id}/patch/responses/400/content/application~1json/examples/read_only_image":{"value":{"success":false,"message":"Field 'cover_photo_id' cannot be updated","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"read_only_image","summary":"read_only_image","id":"paths/~1api~1admin~1salons~1{id}/patch/responses/400/content/application~1json/examples/read_only_image"},"paths/~1api~1admin~1salons~1{id}/patch/responses/400/content/application~1json/examples/address_without_geolocation":{"value":{"success":false,"message":"Geolocation is required when address is provided","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"address_without_geolocation","summary":"address_without_geolocation","id":"paths/~1api~1admin~1salons~1{id}/patch/responses/400/content/application~1json/examples/address_without_geolocation"},"paths/~1api~1admin~1salons~1{id}/patch/responses/400/content/application~1json/examples/invalid_working_days":{"value":{"success":false,"message":"Working days must contain MONDAY through SUNDAY in order","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_working_days","summary":"invalid_working_days","id":"paths/~1api~1admin~1salons~1{id}/patch/responses/400/content/application~1json/examples/invalid_working_days"},"paths/~1api~1admin~1salons~1{id}/patch/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1admin~1salons~1{id}/patch/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1admin~1salons~1{id}/patch/responses/403/content/application~1json/examples/insufficient_admin_panel_permission":{"value":{"success":false,"message":"Admin panel permission denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"insufficient_admin_panel_permission","summary":"Недостаточный уровень permission раздела","id":"paths/~1api~1admin~1salons~1{id}/patch/responses/403/content/application~1json/examples/insufficient_admin_panel_permission"},"paths/~1api~1admin~1salons~1{id}/patch/responses/403/content/application~1json/examples/admin_role_required":{"value":{"success":false,"message":"Forbidden","codeError":"forbidden","error_code":"forbidden","data":null},"key":"admin_role_required","summary":"У пользователя отсутствует роль ADMIN","id":"paths/~1api~1admin~1salons~1{id}/patch/responses/403/content/application~1json/examples/admin_role_required"},"paths/~1api~1admin~1salons~1{id}/patch/responses/404/content/application~1json/examples/salon_not_found":{"value":{"success":false,"message":"Salon not found","codeError":"not_found","error_code":"not_found","data":null},"key":"salon_not_found","summary":"salon_not_found","id":"paths/~1api~1admin~1salons~1{id}/patch/responses/404/content/application~1json/examples/salon_not_found"},"paths/~1api~1admin~1salons~1{id}/patch/responses/404/content/application~1json/examples/category_not_found":{"value":{"success":false,"message":"Category not found","codeError":"not_found","error_code":"not_found","data":null},"key":"category_not_found","summary":"category_not_found","id":"paths/~1api~1admin~1salons~1{id}/patch/responses/404/content/application~1json/examples/category_not_found"},"paths/~1api~1admin~1salons~1{id}/patch/responses/409/content/application~1json/examples/object_modified_by_another_thread":{"value":{"success":false,"message":"Object was modified by another request. Please reload and try again.","codeError":"object_modified_by_another_thread","error_code":"object_modified_by_another_thread","data":null},"key":"object_modified_by_another_thread","summary":"object_modified_by_another_thread","id":"paths/~1api~1admin~1salons~1{id}/patch/responses/409/content/application~1json/examples/object_modified_by_another_thread"},"paths/~1api~1admin~1masters~1{id}~1block/post/requestBody/content/application~1json/example":{"value":{"reason":"Опоздания без предупреждения"},"id":"paths/~1api~1admin~1masters~1{id}~1block/post/requestBody/content/application~1json/example"},"paths/~1api~1admin~1masters~1{id}~1block/post/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Master blocked successfully","codeError":null,"error_code":null,"data":{"blocked":true,"master_id":201}},"id":"paths/~1api~1admin~1masters~1{id}~1block/post/responses/200/content/application~1json/example"},"paths/~1api~1admin~1masters~1{id}~1block/post/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1admin~1masters~1{id}~1block/post/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1admin~1masters~1{id}~1block/post/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1admin~1masters~1{id}~1block/post/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1admin~1masters~1{id}~1block/post/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1admin~1masters~1{id}~1block/post/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1admin~1masters~1{id}~1block/post/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1admin~1masters~1{id}~1block/post/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1admin~1masters~1{id}~1block/post/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1admin~1masters~1{id}~1block/post/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1admin~1masters~1{id}~1block/post/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Resource not found","codeError":"not_found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1admin~1masters~1{id}~1block/post/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1admin~1masters~1{id}~1block/post/responses/409/content/application~1json/examples/conflict":{"value":{"success":false,"message":"Request conflicts with the current resource state","codeError":"conflict","error_code":"conflict","data":null},"key":"conflict","summary":"conflict","id":"paths/~1api~1admin~1masters~1{id}~1block/post/responses/409/content/application~1json/examples/conflict"},"paths/~1api~1admin~1masters~1{id}~1unblock/post/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Master unblocked successfully","codeError":null,"error_code":null,"data":{"blocked":false,"master_id":201}},"id":"paths/~1api~1admin~1masters~1{id}~1unblock/post/responses/200/content/application~1json/example"},"paths/~1api~1admin~1masters~1{id}~1unblock/post/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1admin~1masters~1{id}~1unblock/post/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1admin~1masters~1{id}~1unblock/post/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1admin~1masters~1{id}~1unblock/post/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1admin~1masters~1{id}~1unblock/post/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1admin~1masters~1{id}~1unblock/post/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1admin~1masters~1{id}~1unblock/post/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1admin~1masters~1{id}~1unblock/post/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1admin~1masters~1{id}~1unblock/post/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1admin~1masters~1{id}~1unblock/post/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1admin~1masters~1{id}~1unblock/post/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Resource not found","codeError":"not_found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1admin~1masters~1{id}~1unblock/post/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1admin~1masters~1{id}~1unblock/post/responses/409/content/application~1json/examples/conflict":{"value":{"success":false,"message":"Request conflicts with the current resource state","codeError":"conflict","error_code":"conflict","data":null},"key":"conflict","summary":"conflict","id":"paths/~1api~1admin~1masters~1{id}~1unblock/post/responses/409/content/application~1json/examples/conflict"},"paths/~1api~1admin~1salons~1{id}~1block/post/requestBody/content/application~1json/example":{"value":{"reason":"Мастера не выходят на смены"},"id":"paths/~1api~1admin~1salons~1{id}~1block/post/requestBody/content/application~1json/example"},"paths/~1api~1admin~1salons~1{id}~1block/post/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Salon blocked successfully","codeError":null,"error_code":null,"data":{"blocked":true,"salon_id":55}},"id":"paths/~1api~1admin~1salons~1{id}~1block/post/responses/200/content/application~1json/example"},"paths/~1api~1admin~1salons~1{id}~1block/post/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1admin~1salons~1{id}~1block/post/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1admin~1salons~1{id}~1block/post/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1admin~1salons~1{id}~1block/post/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1admin~1salons~1{id}~1block/post/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1admin~1salons~1{id}~1block/post/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1admin~1salons~1{id}~1block/post/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1admin~1salons~1{id}~1block/post/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1admin~1salons~1{id}~1block/post/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1admin~1salons~1{id}~1block/post/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1admin~1salons~1{id}~1block/post/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Resource not found","codeError":"not_found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1admin~1salons~1{id}~1block/post/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1admin~1salons~1{id}~1block/post/responses/409/content/application~1json/examples/conflict":{"value":{"success":false,"message":"Request conflicts with the current resource state","codeError":"conflict","error_code":"conflict","data":null},"key":"conflict","summary":"conflict","id":"paths/~1api~1admin~1salons~1{id}~1block/post/responses/409/content/application~1json/examples/conflict"},"paths/~1api~1admin~1salons~1{id}~1unblock/post/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Salon unblocked successfully","codeError":null,"error_code":null,"data":{"blocked":false,"salon_id":55}},"id":"paths/~1api~1admin~1salons~1{id}~1unblock/post/responses/200/content/application~1json/example"},"paths/~1api~1admin~1salons~1{id}~1unblock/post/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1admin~1salons~1{id}~1unblock/post/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1admin~1salons~1{id}~1unblock/post/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1admin~1salons~1{id}~1unblock/post/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1admin~1salons~1{id}~1unblock/post/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1admin~1salons~1{id}~1unblock/post/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1admin~1salons~1{id}~1unblock/post/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1admin~1salons~1{id}~1unblock/post/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1admin~1salons~1{id}~1unblock/post/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1admin~1salons~1{id}~1unblock/post/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1admin~1salons~1{id}~1unblock/post/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Resource not found","codeError":"not_found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1admin~1salons~1{id}~1unblock/post/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1admin~1salons~1{id}~1unblock/post/responses/409/content/application~1json/examples/conflict":{"value":{"success":false,"message":"Request conflicts with the current resource state","codeError":"conflict","error_code":"conflict","data":null},"key":"conflict","summary":"conflict","id":"paths/~1api~1admin~1salons~1{id}~1unblock/post/responses/409/content/application~1json/examples/conflict"},"paths/~1api~1admin~1moderation~1requests/get/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Moderation requests retrieved successfully","codeError":null,"error_code":null,"data":{"items":[{"request_id":501,"profile_id":42,"name":"Glow Studio","avatar":700,"role":"SALON","city":"Сочи","services_count":8,"status":"PENDING","submitted_at":"2026-03-14T09:00:00Z","reviewed_at":null,"reviewed_by":null,"rejection_comment":null}],"offset":0,"limit":20,"has_more":false,"total_count":1}},"id":"paths/~1api~1admin~1moderation~1requests/get/responses/200/content/application~1json/example"},"paths/~1api~1admin~1moderation~1requests/get/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1admin~1moderation~1requests/get/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1admin~1moderation~1requests/get/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1admin~1moderation~1requests/get/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1admin~1moderation~1requests/get/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1admin~1moderation~1requests/get/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1admin~1moderation~1requests/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1admin~1moderation~1requests/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1admin~1moderation~1requests/get/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1admin~1moderation~1requests/get/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1admin~1moderation~1requests~1{requestId}~1approve/post/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Moderation request approved successfully","codeError":null,"error_code":null,"data":{"request_id":501,"status":"APPROVED","reviewed_at":"2026-03-14T11:00:00Z","reviewed_by":{"user_id":18,"first_name":"Ирина","last_name":"Петрова"},"rejection_comment":null}},"id":"paths/~1api~1admin~1moderation~1requests~1{requestId}~1approve/post/responses/200/content/application~1json/example"},"paths/~1api~1admin~1moderation~1requests~1{requestId}~1approve/post/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1admin~1moderation~1requests~1{requestId}~1approve/post/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1admin~1moderation~1requests~1{requestId}~1approve/post/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1admin~1moderation~1requests~1{requestId}~1approve/post/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1admin~1moderation~1requests~1{requestId}~1approve/post/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1admin~1moderation~1requests~1{requestId}~1approve/post/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1admin~1moderation~1requests~1{requestId}~1approve/post/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1admin~1moderation~1requests~1{requestId}~1approve/post/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1admin~1moderation~1requests~1{requestId}~1approve/post/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1admin~1moderation~1requests~1{requestId}~1approve/post/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1admin~1moderation~1requests~1{requestId}~1approve/post/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Resource not found","codeError":"not_found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1admin~1moderation~1requests~1{requestId}~1approve/post/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1admin~1moderation~1requests~1{requestId}~1approve/post/responses/409/content/application~1json/examples/conflict":{"value":{"success":false,"message":"Request conflicts with the current resource state","codeError":"conflict","error_code":"conflict","data":null},"key":"conflict","summary":"conflict","id":"paths/~1api~1admin~1moderation~1requests~1{requestId}~1approve/post/responses/409/content/application~1json/examples/conflict"},"paths/~1api~1admin~1moderation~1requests~1{requestId}~1reject/post/requestBody/content/application~1json/example":{"value":{"comment":"Добавьте фотографии интерьера"},"id":"paths/~1api~1admin~1moderation~1requests~1{requestId}~1reject/post/requestBody/content/application~1json/example"},"paths/~1api~1admin~1moderation~1requests~1{requestId}~1reject/post/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Moderation request rejected successfully","codeError":null,"error_code":null,"data":{"request_id":501,"status":"REJECTED","reviewed_at":"2026-03-14T11:00:00Z","reviewed_by":{"user_id":18,"first_name":"Ирина","last_name":"Петрова"},"rejection_comment":"Добавьте фотографии интерьера"}},"id":"paths/~1api~1admin~1moderation~1requests~1{requestId}~1reject/post/responses/200/content/application~1json/example"},"paths/~1api~1admin~1moderation~1requests~1{requestId}~1reject/post/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1admin~1moderation~1requests~1{requestId}~1reject/post/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1admin~1moderation~1requests~1{requestId}~1reject/post/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1admin~1moderation~1requests~1{requestId}~1reject/post/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1admin~1moderation~1requests~1{requestId}~1reject/post/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1admin~1moderation~1requests~1{requestId}~1reject/post/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1admin~1moderation~1requests~1{requestId}~1reject/post/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1admin~1moderation~1requests~1{requestId}~1reject/post/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1admin~1moderation~1requests~1{requestId}~1reject/post/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1admin~1moderation~1requests~1{requestId}~1reject/post/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1admin~1moderation~1requests~1{requestId}~1reject/post/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Resource not found","codeError":"not_found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1admin~1moderation~1requests~1{requestId}~1reject/post/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1admin~1moderation~1requests~1{requestId}~1reject/post/responses/409/content/application~1json/examples/conflict":{"value":{"success":false,"message":"Request conflicts with the current resource state","codeError":"conflict","error_code":"conflict","data":null},"key":"conflict","summary":"conflict","id":"paths/~1api~1admin~1moderation~1requests~1{requestId}~1reject/post/responses/409/content/application~1json/examples/conflict"},"paths/~1api~1admin~1moderation~1test~1salons~1{salonId}~1submit/post/responses/201/content/application~1json/example":{"value":{"success":true,"message":"Salon submitted for moderation successfully","codeError":null,"error_code":null,"data":{"request_id":501,"profile_id":42,"role":"SALON","status":"PENDING","submitted_at":"2026-03-14T09:00:00Z"}},"id":"paths/~1api~1admin~1moderation~1test~1salons~1{salonId}~1submit/post/responses/201/content/application~1json/example"},"paths/~1api~1admin~1moderation~1test~1salons~1{salonId}~1submit/post/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1admin~1moderation~1test~1salons~1{salonId}~1submit/post/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1admin~1moderation~1test~1salons~1{salonId}~1submit/post/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1admin~1moderation~1test~1salons~1{salonId}~1submit/post/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1admin~1moderation~1test~1salons~1{salonId}~1submit/post/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1admin~1moderation~1test~1salons~1{salonId}~1submit/post/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1admin~1moderation~1test~1salons~1{salonId}~1submit/post/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1admin~1moderation~1test~1salons~1{salonId}~1submit/post/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1admin~1moderation~1test~1salons~1{salonId}~1submit/post/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1admin~1moderation~1test~1salons~1{salonId}~1submit/post/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1admin~1moderation~1test~1salons~1{salonId}~1submit/post/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Resource not found","codeError":"not_found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1admin~1moderation~1test~1salons~1{salonId}~1submit/post/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1admin~1moderation~1test~1salons~1{salonId}~1submit/post/responses/409/content/application~1json/examples/conflict":{"value":{"success":false,"message":"Request conflicts with the current resource state","codeError":"conflict","error_code":"conflict","data":null},"key":"conflict","summary":"conflict","id":"paths/~1api~1admin~1moderation~1test~1salons~1{salonId}~1submit/post/responses/409/content/application~1json/examples/conflict"},"paths/~1api~1admin~1support~1chats/get/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1admin~1support~1chats/get/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1admin~1support~1chats/get/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1admin~1support~1chats/get/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1admin~1support~1chats/get/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1admin~1support~1chats/get/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1admin~1support~1chats/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1admin~1support~1chats/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1admin~1support~1chats/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission":{"value":{"success":false,"message":"Admin panel permission denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"insufficient_admin_panel_permission","summary":"Недостаточный уровень permission раздела","id":"paths/~1api~1admin~1support~1chats/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission"},"paths/~1api~1admin~1support~1chats/get/responses/403/content/application~1json/examples/admin_role_required":{"value":{"success":false,"message":"Forbidden","codeError":"forbidden","error_code":"forbidden","data":null},"key":"admin_role_required","summary":"У пользователя отсутствует роль ADMIN","id":"paths/~1api~1admin~1support~1chats/get/responses/403/content/application~1json/examples/admin_role_required"},"paths/~1api~1admin~1support~1chats~1{dialogId}/get/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1admin~1support~1chats~1{dialogId}/get/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1admin~1support~1chats~1{dialogId}/get/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1admin~1support~1chats~1{dialogId}/get/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1admin~1support~1chats~1{dialogId}/get/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1admin~1support~1chats~1{dialogId}/get/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1admin~1support~1chats~1{dialogId}/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1admin~1support~1chats~1{dialogId}/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1admin~1support~1chats~1{dialogId}/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission":{"value":{"success":false,"message":"Admin panel permission denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"insufficient_admin_panel_permission","summary":"Недостаточный уровень permission раздела","id":"paths/~1api~1admin~1support~1chats~1{dialogId}/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission"},"paths/~1api~1admin~1support~1chats~1{dialogId}/get/responses/403/content/application~1json/examples/admin_role_required":{"value":{"success":false,"message":"Forbidden","codeError":"forbidden","error_code":"forbidden","data":null},"key":"admin_role_required","summary":"У пользователя отсутствует роль ADMIN","id":"paths/~1api~1admin~1support~1chats~1{dialogId}/get/responses/403/content/application~1json/examples/admin_role_required"},"paths/~1api~1admin~1support~1chats~1{dialogId}/get/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Resource not found","codeError":"not_found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1admin~1support~1chats~1{dialogId}/get/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1admin~1support~1chats~1{dialogId}~1messages/get/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1admin~1support~1chats~1{dialogId}~1messages/get/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1admin~1support~1chats~1{dialogId}~1messages/get/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1admin~1support~1chats~1{dialogId}~1messages/get/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1admin~1support~1chats~1{dialogId}~1messages/get/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1admin~1support~1chats~1{dialogId}~1messages/get/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1admin~1support~1chats~1{dialogId}~1messages/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1admin~1support~1chats~1{dialogId}~1messages/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1admin~1support~1chats~1{dialogId}~1messages/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission":{"value":{"success":false,"message":"Admin panel permission denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"insufficient_admin_panel_permission","summary":"Недостаточный уровень permission раздела","id":"paths/~1api~1admin~1support~1chats~1{dialogId}~1messages/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission"},"paths/~1api~1admin~1support~1chats~1{dialogId}~1messages/get/responses/403/content/application~1json/examples/admin_role_required":{"value":{"success":false,"message":"Forbidden","codeError":"forbidden","error_code":"forbidden","data":null},"key":"admin_role_required","summary":"У пользователя отсутствует роль ADMIN","id":"paths/~1api~1admin~1support~1chats~1{dialogId}~1messages/get/responses/403/content/application~1json/examples/admin_role_required"},"paths/~1api~1admin~1support~1chats~1{dialogId}~1messages/get/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Resource not found","codeError":"not_found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1admin~1support~1chats~1{dialogId}~1messages/get/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1admin~1support~1chats~1{dialogId}~1messages~1send/post/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1admin~1support~1chats~1{dialogId}~1messages~1send/post/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1admin~1support~1chats~1{dialogId}~1messages~1send/post/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1admin~1support~1chats~1{dialogId}~1messages~1send/post/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1admin~1support~1chats~1{dialogId}~1messages~1send/post/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1admin~1support~1chats~1{dialogId}~1messages~1send/post/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1admin~1support~1chats~1{dialogId}~1messages~1send/post/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1admin~1support~1chats~1{dialogId}~1messages~1send/post/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1admin~1support~1chats~1{dialogId}~1messages~1send/post/responses/403/content/application~1json/examples/insufficient_admin_panel_permission":{"value":{"success":false,"message":"Admin panel permission denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"insufficient_admin_panel_permission","summary":"Недостаточный уровень permission раздела","id":"paths/~1api~1admin~1support~1chats~1{dialogId}~1messages~1send/post/responses/403/content/application~1json/examples/insufficient_admin_panel_permission"},"paths/~1api~1admin~1support~1chats~1{dialogId}~1messages~1send/post/responses/403/content/application~1json/examples/admin_role_required":{"value":{"success":false,"message":"Forbidden","codeError":"forbidden","error_code":"forbidden","data":null},"key":"admin_role_required","summary":"У пользователя отсутствует роль ADMIN","id":"paths/~1api~1admin~1support~1chats~1{dialogId}~1messages~1send/post/responses/403/content/application~1json/examples/admin_role_required"},"paths/~1api~1admin~1support~1chats~1{dialogId}~1messages~1send/post/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Resource not found","codeError":"not_found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1admin~1support~1chats~1{dialogId}~1messages~1send/post/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1admin~1support~1chats~1{dialogId}~1messages~1send/post/responses/409/content/application~1json/examples/conflict":{"value":{"success":false,"message":"Request conflicts with the current resource state","codeError":"conflict","error_code":"conflict","data":null},"key":"conflict","summary":"conflict","id":"paths/~1api~1admin~1support~1chats~1{dialogId}~1messages~1send/post/responses/409/content/application~1json/examples/conflict"},"paths/~1api~1admin~1support~1salons~1{salonId}~1messages~1send/post/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1admin~1support~1salons~1{salonId}~1messages~1send/post/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1admin~1support~1salons~1{salonId}~1messages~1send/post/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1admin~1support~1salons~1{salonId}~1messages~1send/post/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1admin~1support~1salons~1{salonId}~1messages~1send/post/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1admin~1support~1salons~1{salonId}~1messages~1send/post/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1admin~1support~1salons~1{salonId}~1messages~1send/post/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1admin~1support~1salons~1{salonId}~1messages~1send/post/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1admin~1support~1salons~1{salonId}~1messages~1send/post/responses/403/content/application~1json/examples/insufficient_admin_panel_permission":{"value":{"success":false,"message":"Admin panel permission denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"insufficient_admin_panel_permission","summary":"Недостаточный уровень permission раздела","id":"paths/~1api~1admin~1support~1salons~1{salonId}~1messages~1send/post/responses/403/content/application~1json/examples/insufficient_admin_panel_permission"},"paths/~1api~1admin~1support~1salons~1{salonId}~1messages~1send/post/responses/403/content/application~1json/examples/admin_role_required":{"value":{"success":false,"message":"Forbidden","codeError":"forbidden","error_code":"forbidden","data":null},"key":"admin_role_required","summary":"У пользователя отсутствует роль ADMIN","id":"paths/~1api~1admin~1support~1salons~1{salonId}~1messages~1send/post/responses/403/content/application~1json/examples/admin_role_required"},"paths/~1api~1admin~1support~1salons~1{salonId}~1messages~1send/post/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Resource not found","codeError":"not_found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1admin~1support~1salons~1{salonId}~1messages~1send/post/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1admin~1support~1chats~1{dialogId}~1resolution-request/post/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1admin~1support~1chats~1{dialogId}~1resolution-request/post/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1admin~1support~1chats~1{dialogId}~1resolution-request/post/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1admin~1support~1chats~1{dialogId}~1resolution-request/post/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1admin~1support~1chats~1{dialogId}~1resolution-request/post/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1admin~1support~1chats~1{dialogId}~1resolution-request/post/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1admin~1support~1chats~1{dialogId}~1resolution-request/post/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1admin~1support~1chats~1{dialogId}~1resolution-request/post/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1admin~1support~1chats~1{dialogId}~1resolution-request/post/responses/403/content/application~1json/examples/insufficient_admin_panel_permission":{"value":{"success":false,"message":"Admin panel permission denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"insufficient_admin_panel_permission","summary":"Недостаточный уровень permission раздела","id":"paths/~1api~1admin~1support~1chats~1{dialogId}~1resolution-request/post/responses/403/content/application~1json/examples/insufficient_admin_panel_permission"},"paths/~1api~1admin~1support~1chats~1{dialogId}~1resolution-request/post/responses/403/content/application~1json/examples/admin_role_required":{"value":{"success":false,"message":"Forbidden","codeError":"forbidden","error_code":"forbidden","data":null},"key":"admin_role_required","summary":"У пользователя отсутствует роль ADMIN","id":"paths/~1api~1admin~1support~1chats~1{dialogId}~1resolution-request/post/responses/403/content/application~1json/examples/admin_role_required"},"paths/~1api~1admin~1support~1chats~1{dialogId}~1resolution-request/post/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Resource not found","codeError":"not_found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1admin~1support~1chats~1{dialogId}~1resolution-request/post/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1admin~1support~1chats~1{dialogId}~1resolution-request/post/responses/409/content/application~1json/examples/conflict":{"value":{"success":false,"message":"Request conflicts with the current resource state","codeError":"conflict","error_code":"conflict","data":null},"key":"conflict","summary":"conflict","id":"paths/~1api~1admin~1support~1chats~1{dialogId}~1resolution-request/post/responses/409/content/application~1json/examples/conflict"},"paths/~1api~1admin~1support~1chats~1{dialogId}~1reopen/post/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1admin~1support~1chats~1{dialogId}~1reopen/post/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1admin~1support~1chats~1{dialogId}~1reopen/post/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1admin~1support~1chats~1{dialogId}~1reopen/post/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1admin~1support~1chats~1{dialogId}~1reopen/post/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1admin~1support~1chats~1{dialogId}~1reopen/post/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1admin~1support~1chats~1{dialogId}~1reopen/post/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1admin~1support~1chats~1{dialogId}~1reopen/post/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1admin~1support~1chats~1{dialogId}~1reopen/post/responses/403/content/application~1json/examples/insufficient_admin_panel_permission":{"value":{"success":false,"message":"Admin panel permission denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"insufficient_admin_panel_permission","summary":"Недостаточный уровень permission раздела","id":"paths/~1api~1admin~1support~1chats~1{dialogId}~1reopen/post/responses/403/content/application~1json/examples/insufficient_admin_panel_permission"},"paths/~1api~1admin~1support~1chats~1{dialogId}~1reopen/post/responses/403/content/application~1json/examples/admin_role_required":{"value":{"success":false,"message":"Forbidden","codeError":"forbidden","error_code":"forbidden","data":null},"key":"admin_role_required","summary":"У пользователя отсутствует роль ADMIN","id":"paths/~1api~1admin~1support~1chats~1{dialogId}~1reopen/post/responses/403/content/application~1json/examples/admin_role_required"},"paths/~1api~1admin~1support~1chats~1{dialogId}~1reopen/post/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Resource not found","codeError":"not_found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1admin~1support~1chats~1{dialogId}~1reopen/post/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1admin~1support~1chats~1{dialogId}~1reopen/post/responses/409/content/application~1json/examples/conflict":{"value":{"success":false,"message":"Request conflicts with the current resource state","codeError":"conflict","error_code":"conflict","data":null},"key":"conflict","summary":"conflict","id":"paths/~1api~1admin~1support~1chats~1{dialogId}~1reopen/post/responses/409/content/application~1json/examples/conflict"},"paths/~1api~1admin~1support~1chats~1{dialogId}~1read/post/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1admin~1support~1chats~1{dialogId}~1read/post/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1admin~1support~1chats~1{dialogId}~1read/post/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1admin~1support~1chats~1{dialogId}~1read/post/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1admin~1support~1chats~1{dialogId}~1read/post/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1admin~1support~1chats~1{dialogId}~1read/post/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1admin~1support~1chats~1{dialogId}~1read/post/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1admin~1support~1chats~1{dialogId}~1read/post/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1admin~1support~1chats~1{dialogId}~1read/post/responses/403/content/application~1json/examples/insufficient_admin_panel_permission":{"value":{"success":false,"message":"Admin panel permission denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"insufficient_admin_panel_permission","summary":"Недостаточный уровень permission раздела","id":"paths/~1api~1admin~1support~1chats~1{dialogId}~1read/post/responses/403/content/application~1json/examples/insufficient_admin_panel_permission"},"paths/~1api~1admin~1support~1chats~1{dialogId}~1read/post/responses/403/content/application~1json/examples/admin_role_required":{"value":{"success":false,"message":"Forbidden","codeError":"forbidden","error_code":"forbidden","data":null},"key":"admin_role_required","summary":"У пользователя отсутствует роль ADMIN","id":"paths/~1api~1admin~1support~1chats~1{dialogId}~1read/post/responses/403/content/application~1json/examples/admin_role_required"},"paths/~1api~1admin~1support~1chats~1{dialogId}~1read/post/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Resource not found","codeError":"not_found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1admin~1support~1chats~1{dialogId}~1read/post/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1admin~1notifications/get/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Notifications retrieved successfully","codeError":null,"error_code":null,"data":{"items":[{"id":42,"execution":{"mode":"CONTINUOUS","scheduled_at":null},"trigger":{"event":"USER_REGISTERED","timing":"AFTER","delay":{"value":7,"unit":"DAYS"}},"conditions":[{"id":101,"event":"PROFILE_COMPLETED","operator":"NOT_OCCURRED","position":0}],"audience":"CLIENTS","channels":["IN_APP","PUSH"],"title":"Заполните профиль","message":"Заполните профиль, чтобы пользоваться всеми возможностями","enabled":true,"created_by":18,"created_at":"2026-08-07T10:00:00Z","updated_at":"2026-08-07T10:00:00Z"}],"offset":0,"limit":20,"has_more":false}},"id":"paths/~1api~1admin~1notifications/get/responses/200/content/application~1json/example"},"paths/~1api~1admin~1notifications/get/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1admin~1notifications/get/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1admin~1notifications/get/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1admin~1notifications/get/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1admin~1notifications/get/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1admin~1notifications/get/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1admin~1notifications/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1admin~1notifications/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1admin~1notifications/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission":{"value":{"success":false,"message":"Admin panel permission denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"insufficient_admin_panel_permission","summary":"Недостаточный уровень permission раздела","id":"paths/~1api~1admin~1notifications/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission"},"paths/~1api~1admin~1notifications/get/responses/403/content/application~1json/examples/admin_role_required":{"value":{"success":false,"message":"Forbidden","codeError":"forbidden","error_code":"forbidden","data":null},"key":"admin_role_required","summary":"У пользователя отсутствует роль ADMIN","id":"paths/~1api~1admin~1notifications/get/responses/403/content/application~1json/examples/admin_role_required"},"paths/~1api~1admin~1notifications/get/responses/500/content/application~1json/example":{"value":{"success":false,"message":"Internal server error","codeError":"internal_error","error_code":"internal_error","data":null},"id":"paths/~1api~1admin~1notifications/get/responses/500/content/application~1json/example"},"paths/~1api~1admin~1notifications/post/requestBody/content/application~1json/examples/continuous":{"value":{"execution":{"mode":"CONTINUOUS","scheduled_at":null},"trigger":{"event":"USER_REGISTERED","timing":"AFTER","delay":{"value":7,"unit":"DAYS"}},"conditions":[{"event":"SERVICE_PURCHASED","operator":"NOT_OCCURRED"},{"event":"PROFILE_COMPLETED","operator":"NOT_OCCURRED"}],"audience":"CLIENTS","channels":["IN_APP","PUSH"],"title":"Заполните профиль","message":"Заполните профиль, чтобы пользоваться всеми возможностями"},"key":"continuous","summary":"Постоянное уведомление","id":"paths/~1api~1admin~1notifications/post/requestBody/content/application~1json/examples/continuous"},"paths/~1api~1admin~1notifications/post/requestBody/content/application~1json/examples/scheduled_once":{"value":{"execution":{"mode":"SCHEDULED_ONCE","scheduled_at":"2026-10-21T16:00:00+03:00"},"trigger":{"event":"USER_REGISTERED","timing":"AFTER","delay":{"value":7,"unit":"DAYS"}},"conditions":[{"event":"SERVICE_PURCHASED","operator":"NOT_OCCURRED"}],"audience":"CLIENTS","channels":["IN_APP","EMAIL"],"title":"Выберите первую услугу","message":"Для вас доступны услуги рядом"},"key":"scheduled_once","summary":"Разовая рассылка по тем же условиям","id":"paths/~1api~1admin~1notifications/post/requestBody/content/application~1json/examples/scheduled_once"},"paths/~1api~1admin~1notifications/post/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Notification created successfully","codeError":null,"error_code":null,"data":{"id":42,"execution":{"mode":"CONTINUOUS","scheduled_at":null},"trigger":{"event":"USER_REGISTERED","timing":"AFTER","delay":{"value":7,"unit":"DAYS"}},"conditions":[{"id":101,"event":"PROFILE_COMPLETED","operator":"NOT_OCCURRED","position":0}],"audience":"CLIENTS","channels":["IN_APP","PUSH"],"title":"Заполните профиль","message":"Заполните профиль, чтобы пользоваться всеми возможностями","enabled":true,"created_by":18,"created_at":"2026-08-07T10:00:00Z","updated_at":"2026-08-07T10:00:00Z"}},"id":"paths/~1api~1admin~1notifications/post/responses/200/content/application~1json/example"},"paths/~1api~1admin~1notifications/post/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1admin~1notifications/post/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1admin~1notifications/post/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1admin~1notifications/post/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1admin~1notifications/post/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1admin~1notifications/post/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1admin~1notifications/post/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1admin~1notifications/post/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1admin~1notifications/post/responses/403/content/application~1json/examples/insufficient_admin_panel_permission":{"value":{"success":false,"message":"Admin panel permission denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"insufficient_admin_panel_permission","summary":"Недостаточный уровень permission раздела","id":"paths/~1api~1admin~1notifications/post/responses/403/content/application~1json/examples/insufficient_admin_panel_permission"},"paths/~1api~1admin~1notifications/post/responses/403/content/application~1json/examples/admin_role_required":{"value":{"success":false,"message":"Forbidden","codeError":"forbidden","error_code":"forbidden","data":null},"key":"admin_role_required","summary":"У пользователя отсутствует роль ADMIN","id":"paths/~1api~1admin~1notifications/post/responses/403/content/application~1json/examples/admin_role_required"},"paths/~1api~1admin~1notifications/post/responses/409/content/application~1json/examples/conflict":{"value":{"success":false,"message":"Request conflicts with the current resource state","codeError":"conflict","error_code":"conflict","data":null},"key":"conflict","summary":"conflict","id":"paths/~1api~1admin~1notifications/post/responses/409/content/application~1json/examples/conflict"},"paths/~1api~1admin~1notifications/post/responses/500/content/application~1json/example":{"value":{"success":false,"message":"Internal server error","codeError":"internal_error","error_code":"internal_error","data":null},"id":"paths/~1api~1admin~1notifications/post/responses/500/content/application~1json/example"},"paths/~1api~1admin~1notifications~1{id}/get/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Notification retrieved successfully","codeError":null,"error_code":null,"data":{"id":42,"execution":{"mode":"CONTINUOUS","scheduled_at":null},"trigger":{"event":"USER_REGISTERED","timing":"AFTER","delay":{"value":7,"unit":"DAYS"}},"conditions":[{"id":101,"event":"PROFILE_COMPLETED","operator":"NOT_OCCURRED","position":0}],"audience":"CLIENTS","channels":["IN_APP","PUSH"],"title":"Заполните профиль","message":"Заполните профиль, чтобы пользоваться всеми возможностями","enabled":true,"created_by":18,"created_at":"2026-08-07T10:00:00Z","updated_at":"2026-08-07T10:00:00Z"}},"id":"paths/~1api~1admin~1notifications~1{id}/get/responses/200/content/application~1json/example"},"paths/~1api~1admin~1notifications~1{id}/get/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1admin~1notifications~1{id}/get/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1admin~1notifications~1{id}/get/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1admin~1notifications~1{id}/get/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1admin~1notifications~1{id}/get/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1admin~1notifications~1{id}/get/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1admin~1notifications~1{id}/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1admin~1notifications~1{id}/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1admin~1notifications~1{id}/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission":{"value":{"success":false,"message":"Admin panel permission denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"insufficient_admin_panel_permission","summary":"Недостаточный уровень permission раздела","id":"paths/~1api~1admin~1notifications~1{id}/get/responses/403/content/application~1json/examples/insufficient_admin_panel_permission"},"paths/~1api~1admin~1notifications~1{id}/get/responses/403/content/application~1json/examples/admin_role_required":{"value":{"success":false,"message":"Forbidden","codeError":"forbidden","error_code":"forbidden","data":null},"key":"admin_role_required","summary":"У пользователя отсутствует роль ADMIN","id":"paths/~1api~1admin~1notifications~1{id}/get/responses/403/content/application~1json/examples/admin_role_required"},"paths/~1api~1admin~1notifications~1{id}/get/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Resource not found","codeError":"not_found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1admin~1notifications~1{id}/get/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1admin~1notifications~1{id}/get/responses/500/content/application~1json/example":{"value":{"success":false,"message":"Internal server error","codeError":"internal_error","error_code":"internal_error","data":null},"id":"paths/~1api~1admin~1notifications~1{id}/get/responses/500/content/application~1json/example"},"paths/~1api~1admin~1notifications~1{id}/patch/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Notification updated successfully","codeError":null,"error_code":null,"data":{"id":42,"execution":{"mode":"CONTINUOUS","scheduled_at":null},"trigger":{"event":"USER_REGISTERED","timing":"AFTER","delay":{"value":7,"unit":"DAYS"}},"conditions":[{"id":101,"event":"PROFILE_COMPLETED","operator":"NOT_OCCURRED","position":0}],"audience":"CLIENTS","channels":["IN_APP","PUSH"],"title":"Заполните профиль","message":"Обновлённый текст уведомления","enabled":true,"created_by":18,"created_at":"2026-08-07T10:00:00Z","updated_at":"2026-08-07T11:00:00Z"}},"id":"paths/~1api~1admin~1notifications~1{id}/patch/responses/200/content/application~1json/example"},"paths/~1api~1admin~1notifications~1{id}/patch/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1admin~1notifications~1{id}/patch/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1admin~1notifications~1{id}/patch/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1admin~1notifications~1{id}/patch/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1admin~1notifications~1{id}/patch/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1admin~1notifications~1{id}/patch/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1admin~1notifications~1{id}/patch/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1admin~1notifications~1{id}/patch/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1admin~1notifications~1{id}/patch/responses/403/content/application~1json/examples/insufficient_admin_panel_permission":{"value":{"success":false,"message":"Admin panel permission denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"insufficient_admin_panel_permission","summary":"Недостаточный уровень permission раздела","id":"paths/~1api~1admin~1notifications~1{id}/patch/responses/403/content/application~1json/examples/insufficient_admin_panel_permission"},"paths/~1api~1admin~1notifications~1{id}/patch/responses/403/content/application~1json/examples/admin_role_required":{"value":{"success":false,"message":"Forbidden","codeError":"forbidden","error_code":"forbidden","data":null},"key":"admin_role_required","summary":"У пользователя отсутствует роль ADMIN","id":"paths/~1api~1admin~1notifications~1{id}/patch/responses/403/content/application~1json/examples/admin_role_required"},"paths/~1api~1admin~1notifications~1{id}/patch/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Resource not found","codeError":"not_found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1admin~1notifications~1{id}/patch/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1admin~1notifications~1{id}/patch/responses/409/content/application~1json/examples/conflict":{"value":{"success":false,"message":"Request conflicts with the current resource state","codeError":"conflict","error_code":"conflict","data":null},"key":"conflict","summary":"conflict","id":"paths/~1api~1admin~1notifications~1{id}/patch/responses/409/content/application~1json/examples/conflict"},"paths/~1api~1admin~1notifications~1{id}/patch/responses/500/content/application~1json/example":{"value":{"success":false,"message":"Internal server error","codeError":"internal_error","error_code":"internal_error","data":null},"id":"paths/~1api~1admin~1notifications~1{id}/patch/responses/500/content/application~1json/example"},"paths/~1api~1admin~1notifications~1{id}/delete/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Notification deleted successfully","codeError":null,"error_code":null,"data":{"deleted":true}},"id":"paths/~1api~1admin~1notifications~1{id}/delete/responses/200/content/application~1json/example"},"paths/~1api~1admin~1notifications~1{id}/delete/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1admin~1notifications~1{id}/delete/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1admin~1notifications~1{id}/delete/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1admin~1notifications~1{id}/delete/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1admin~1notifications~1{id}/delete/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1admin~1notifications~1{id}/delete/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1admin~1notifications~1{id}/delete/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1admin~1notifications~1{id}/delete/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1admin~1notifications~1{id}/delete/responses/403/content/application~1json/examples/insufficient_admin_panel_permission":{"value":{"success":false,"message":"Admin panel permission denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"insufficient_admin_panel_permission","summary":"Недостаточный уровень permission раздела","id":"paths/~1api~1admin~1notifications~1{id}/delete/responses/403/content/application~1json/examples/insufficient_admin_panel_permission"},"paths/~1api~1admin~1notifications~1{id}/delete/responses/403/content/application~1json/examples/admin_role_required":{"value":{"success":false,"message":"Forbidden","codeError":"forbidden","error_code":"forbidden","data":null},"key":"admin_role_required","summary":"У пользователя отсутствует роль ADMIN","id":"paths/~1api~1admin~1notifications~1{id}/delete/responses/403/content/application~1json/examples/admin_role_required"},"paths/~1api~1admin~1notifications~1{id}/delete/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Resource not found","codeError":"not_found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1admin~1notifications~1{id}/delete/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1admin~1notifications~1{id}/delete/responses/409/content/application~1json/examples/conflict":{"value":{"success":false,"message":"Request conflicts with the current resource state","codeError":"conflict","error_code":"conflict","data":null},"key":"conflict","summary":"conflict","id":"paths/~1api~1admin~1notifications~1{id}/delete/responses/409/content/application~1json/examples/conflict"},"paths/~1api~1admin~1notifications~1{id}/delete/responses/500/content/application~1json/example":{"value":{"success":false,"message":"Internal server error","codeError":"internal_error","error_code":"internal_error","data":null},"id":"paths/~1api~1admin~1notifications~1{id}/delete/responses/500/content/application~1json/example"},"paths/~1api~1admin~1employees~1me~1permissions/get/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Administrator permissions retrieved successfully","codeError":null,"error_code":null,"data":{"user_id":18,"permissions":[{"section":"BUSINESS_OVERVIEW","name":"Обзор бизнеса","access_level":"READ"},{"section":"CLIENTS","name":"Пользователи","access_level":"FULL"},{"section":"MASTERS_AND_SALONS","name":"Мастера и салоны","access_level":"READ"},{"section":"RECORDS","name":"Записи","access_level":"NONE"},{"section":"CATEGORIES","name":"Категории","access_level":"NONE"},{"section":"REFERRAL_PROGRAM","name":"Реферальная программа","access_level":"NONE"},{"section":"LOYALTY_PROGRAM","name":"Программа лояльности","access_level":"NONE"},{"section":"BONUSES_AND_BALANCES","name":"Бонусы и балансы","access_level":"NONE"},{"section":"REFUNDS","name":"Возвраты","access_level":"NONE"},{"section":"SUPPORT","name":"Обращения","access_level":"READ"},{"section":"COMPLAINTS","name":"Жалобы","access_level":"NONE"},{"section":"NOTIFICATIONS","name":"Уведомления","access_level":"NONE"},{"section":"ACTION_HISTORY","name":"История действий","access_level":"NONE"},{"section":"ROLES","name":"Роли","access_level":"NONE"}]}},"id":"paths/~1api~1admin~1employees~1me~1permissions/get/responses/200/content/application~1json/example"},"paths/~1api~1admin~1employees~1me~1permissions/get/responses/401/content/application~1json/example":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"id":"paths/~1api~1admin~1employees~1me~1permissions/get/responses/401/content/application~1json/example"},"paths/~1api~1admin~1employees~1me~1permissions/get/responses/403/content/application~1json/example":{"value":{"success":false,"message":"Forbidden","codeError":"forbidden","error_code":"forbidden","data":null},"id":"paths/~1api~1admin~1employees~1me~1permissions/get/responses/403/content/application~1json/example"},"paths/~1api~1referral/get/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Referral link successfully retrieved","codeError":null,"error_code":null,"data":{"referral_code":"42","referral_link":"https://felmee.com?ref=42"}},"id":"paths/~1api~1referral/get/responses/200/content/application~1json/example"},"paths/~1api~1referral/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1referral/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1referral/get/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1referral/get/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1referral~1referrals/get/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Referrals successfully retrieved","codeError":null,"error_code":null,"data":{"items":[{"referral_id":501,"user_id":101,"name":"Мария И.","avatar":7001,"referral_status":"COMPLETED","registered_at":"2026-06-01T10:00:00Z","expires_at":"2026-08-10T10:00:00Z","completed_at":"2026-06-12T14:30:00Z","reward":{"state":"GRANTED","reward_type":"PERMANENT_DISCOUNT","percent":3,"granted_at":"2026-06-12T14:30:00Z"}},{"referral_id":502,"user_id":108,"name":"Анна П.","avatar":null,"referral_status":"WAITING_FOR_BOOKING","registered_at":"2026-08-01T09:00:00Z","expires_at":"2026-10-10T09:00:00Z","completed_at":null,"reward":{"state":"PENDING_CALCULATION","reward_type":null,"percent":null,"granted_at":null}}]}},"id":"paths/~1api~1referral~1referrals/get/responses/200/content/application~1json/example"},"paths/~1api~1referral~1referrals/get/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1referral~1referrals/get/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1referral~1referrals/get/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1referral~1referrals/get/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1referral~1referrals/get/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1referral~1referrals/get/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1referral~1referrals/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1referral~1referrals/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1referral~1referrals/get/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1referral~1referrals/get/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1referral~1program~1client/get/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Client referral program successfully retrieved","codeError":null,"error_code":null,"data":{"current_level":7,"completed_client_referrals":7,"permanent_discount_percent":7,"rules":[{"display_title":"Уровень 7","condition_text":"Пригласи 7/7 друзей","reward_percent":7,"reward_interval":"ALL_SERVICES","completed":true,"is_current":true},{"display_title":"Дальше — больше!","condition_text":"За каждого друга после 7-го — купон 10%","reward_percent":10,"reward_interval":"NEXT_SERVICE","completed":false,"is_current":false}]}},"id":"paths/~1api~1referral~1program~1client/get/responses/200/content/application~1json/example"},"paths/~1api~1referral~1program~1client/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1referral~1program~1client/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1referral~1program~1client/get/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1referral~1program~1client/get/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1referral~1program~1business/get/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Business referral program successfully retrieved","codeError":null,"error_code":null,"data":{"completed_business_referrals":2,"rules":[{"display_title":"Постоянно","condition_text":"Скидка у приглашённого мастера или салона","reward_percent":10,"reward_interval":"ALL_SERVICES"}]}},"id":"paths/~1api~1referral~1program~1business/get/responses/200/content/application~1json/example"},"paths/~1api~1referral~1program~1business/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1referral~1program~1business/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1referral~1program~1business/get/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1referral~1program~1business/get/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1referral~1business-referrals/get/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Business referrals successfully retrieved","codeError":null,"error_code":null,"data":{"items":[{"referral_id":601,"business_id":41,"business_type":"SALON","name":"Beauty Studio","image":501,"referral_status":"COMPLETED","registered_at":"2026-05-01T10:00:00Z","expires_at":"2026-07-10T10:00:00Z","completed_at":"2026-05-20T12:00:00Z","reward":{"state":"GRANTED","reward_type":"PERMANENT_DISCOUNT","percent":10,"granted_at":"2026-05-20T12:00:00Z"}},{"referral_id":602,"business_id":77,"business_type":"MASTER","name":"Мария Иванова","image":502,"referral_status":"WAITING_FOR_BOOKING","registered_at":"2026-08-02T10:00:00Z","expires_at":"2026-10-11T10:00:00Z","completed_at":null,"reward":{"state":"NOT_GRANTED","reward_type":null,"percent":null,"granted_at":null}}]}},"id":"paths/~1api~1referral~1business-referrals/get/responses/200/content/application~1json/example"},"paths/~1api~1referral~1business-referrals/get/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1referral~1business-referrals/get/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1referral~1business-referrals/get/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1referral~1business-referrals/get/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1referral~1business-referrals/get/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1referral~1business-referrals/get/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1referral~1business-referrals/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1referral~1business-referrals/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1referral~1business-referrals/get/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1referral~1business-referrals/get/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1referral~1referrals~1{referralId}/get/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Referral successfully retrieved","codeError":null,"error_code":null,"data":{"referral_id":501,"user_id":101,"name":"Мария И.","avatar":7001,"referral_status":"COMPLETED","registered_at":"2026-06-01T10:00:00Z","expires_at":"2026-08-10T10:00:00Z","completed_at":"2026-06-12T14:30:00Z","reward":{"state":"GRANTED","reward_type":"PERMANENT_DISCOUNT","percent":3,"granted_at":"2026-06-12T14:30:00Z"}}},"id":"paths/~1api~1referral~1referrals~1{referralId}/get/responses/200/content/application~1json/example"},"paths/~1api~1referral~1referrals~1{referralId}/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1referral~1referrals~1{referralId}/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1referral~1referrals~1{referralId}/get/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1referral~1referrals~1{referralId}/get/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1referral~1referrals~1{referralId}/get/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Resource not found","codeError":"not_found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1referral~1referrals~1{referralId}/get/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1referral~1business-referrals~1{referralId}/get/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Business referral successfully retrieved","codeError":null,"error_code":null,"data":{"referral_id":601,"business_id":41,"business_type":"SALON","name":"Beauty Studio","image":501,"referral_status":"COMPLETED","registered_at":"2026-05-01T10:00:00Z","expires_at":"2026-07-10T10:00:00Z","completed_at":"2026-05-20T12:00:00Z","reward":{"state":"GRANTED","reward_type":"PERMANENT_DISCOUNT","percent":10,"granted_at":"2026-05-20T12:00:00Z"}}},"id":"paths/~1api~1referral~1business-referrals~1{referralId}/get/responses/200/content/application~1json/example"},"paths/~1api~1referral~1business-referrals~1{referralId}/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1referral~1business-referrals~1{referralId}/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1referral~1business-referrals~1{referralId}/get/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1referral~1business-referrals~1{referralId}/get/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1referral~1business-referrals~1{referralId}/get/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Resource not found","codeError":"not_found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1referral~1business-referrals~1{referralId}/get/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1referral~1reward-history/get/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Referral reward history successfully retrieved","codeError":null,"error_code":null,"data":{"items":[{"id":9001,"referral_id":501,"target_type":"CLIENT","reward":{"state":"GRANTED","reward_type":"PERMANENT_DISCOUNT","percent":3,"granted_at":"2026-06-12T14:30:00Z"}},{"id":9002,"referral_id":601,"target_type":"BUSINESS","reward":{"state":"GRANTED","reward_type":"PERMANENT_DISCOUNT","percent":10,"granted_at":"2026-05-20T12:00:00Z"}}]}},"id":"paths/~1api~1referral~1reward-history/get/responses/200/content/application~1json/example"},"paths/~1api~1referral~1reward-history/get/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1referral~1reward-history/get/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1referral~1reward-history/get/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1referral~1reward-history/get/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1referral~1reward-history/get/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1referral~1reward-history/get/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1referral~1reward-history/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1referral~1reward-history/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1referral~1reward-history/get/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1referral~1reward-history/get/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1coupons/get/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Coupons successfully retrieved","codeError":null,"error_code":null,"data":{"items":[{"id":10001,"percent":10,"status":"ACTIVE","source_type":"REFERRAL","source_label":"За регистрацию по приглашению Марии И.","issued_at":"2026-08-01T09:00:00Z","expires_at":null,"service_name":null,"service_date":null},{"id":10002,"percent":10,"status":"USED","source_type":"REFERRAL","source_label":"За друга Анна П.","issued_at":"2026-06-12T14:30:00Z","expires_at":null,"service_name":"Гигиенический маникюр","service_date":"2026-07-10T12:00:00Z"}]}},"id":"paths/~1api~1coupons/get/responses/200/content/application~1json/example"},"paths/~1api~1coupons/get/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1coupons/get/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1coupons/get/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1coupons/get/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1coupons/get/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1coupons/get/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1coupons/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1coupons/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1coupons/get/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1coupons/get/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1auth~1phone~1send~1otp/post/requestBody/content/application~1json/examples/example":{"value":{"recipient":"+79991234567"},"key":"example","summary":"example","id":"paths/~1api~1auth~1phone~1send~1otp/post/requestBody/content/application~1json/examples/example"},"paths/~1api~1auth~1phone~1send~1otp/post/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"OTP code sent successfully","error_code":null,"data":null},"key":"ok","summary":"ok","id":"paths/~1api~1auth~1phone~1send~1otp/post/responses/200/content/application~1json/examples/ok"},"paths/~1api~1auth~1phone~1send~1otp/post/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1auth~1phone~1send~1otp/post/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1auth~1phone~1send~1otp/post/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1auth~1phone~1send~1otp/post/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1auth~1phone~1send~1otp/post/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1auth~1phone~1send~1otp/post/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1auth~1phone~1send~1otp/post/responses/403/content/application~1json/examples/invalid_captcha":{"value":{"success":false,"message":"Invalid Captcha","error_code":"invalid_captcha","data":null},"key":"invalid_captcha","summary":"invalid_captcha","id":"paths/~1api~1auth~1phone~1send~1otp/post/responses/403/content/application~1json/examples/invalid_captcha"},"paths/~1api~1auth~1phone~1send~1otp/post/responses/429/content/application~1json/examples/too_many":{"value":{"success":false,"message":"Too many requests","error_code":"too_many_request","data":{"TTL":60}},"key":"too_many","summary":"too_many","id":"paths/~1api~1auth~1phone~1send~1otp/post/responses/429/content/application~1json/examples/too_many"},"paths/~1api~1auth~1phone~1login/post/requestBody/content/application~1json/examples/example":{"value":{"phone":"+79991234567","otp":"123456","type_account":"CLIENT","role_in_salon":null,"invite_token":null,"referral_code":"42"},"key":"example","summary":"example","id":"paths/~1api~1auth~1phone~1login/post/requestBody/content/application~1json/examples/example"},"paths/~1api~1auth~1phone~1login/post/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"The authorization process has been completed successfully!","error_code":null,"data":{"JWT":"<access_token>","RT":"<refresh_token>"}},"key":"ok","summary":"ok","id":"paths/~1api~1auth~1phone~1login/post/responses/200/content/application~1json/examples/ok"},"paths/~1api~1auth~1phone~1login/post/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1auth~1phone~1login/post/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1auth~1phone~1login/post/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1auth~1phone~1login/post/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1auth~1phone~1login/post/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1auth~1phone~1login/post/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1auth~1phone~1login/post/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1auth~1phone~1login/post/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1auth~1phone~1login/post/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Resource not found","codeError":"not_found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1auth~1phone~1login/post/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1auth~1phone~1login/post/responses/410/content/application~1json/examples/code_is_gone":{"value":{"success":false,"message":"The code is no longer validate. Please request a new one!","error_code":"code_is_gone","data":null},"key":"code_is_gone","summary":"code_is_gone","id":"paths/~1api~1auth~1phone~1login/post/responses/410/content/application~1json/examples/code_is_gone"},"paths/~1api~1auth~1phone~1email-status/post/requestBody/content/application~1json/examples/client":{"value":{"phone":"+79991234567","type_account":"CLIENT","role_in_salon":null},"key":"client","summary":"client","id":"paths/~1api~1auth~1phone~1email-status/post/requestBody/content/application~1json/examples/client"},"paths/~1api~1auth~1phone~1email-status/post/responses/200/content/application~1json/examples/attached":{"value":{"success":true,"message":"Email status resolved","error_code":null,"data":{"email_attached":true}},"key":"attached","summary":"attached","id":"paths/~1api~1auth~1phone~1email-status/post/responses/200/content/application~1json/examples/attached"},"paths/~1api~1auth~1phone~1email-status/post/responses/200/content/application~1json/examples/not_attached":{"value":{"success":true,"message":"Email status resolved","error_code":null,"data":{"email_attached":false}},"key":"not_attached","summary":"not_attached","id":"paths/~1api~1auth~1phone~1email-status/post/responses/200/content/application~1json/examples/not_attached"},"paths/~1api~1auth~1phone~1email-status/post/responses/400/content/application~1json/examples/phone_empty":{"value":{"success":false,"message":"Phone cannot be empty","error_code":"invalid_body","data":null},"key":"phone_empty","summary":"phone_empty","id":"paths/~1api~1auth~1phone~1email-status/post/responses/400/content/application~1json/examples/phone_empty"},"paths/~1api~1auth~1phone~1email-status/post/responses/400/content/application~1json/examples/type_account_null":{"value":{"success":false,"message":"Type account cannot be null","error_code":"invalid_body","data":null},"key":"type_account_null","summary":"type_account_null","id":"paths/~1api~1auth~1phone~1email-status/post/responses/400/content/application~1json/examples/type_account_null"},"paths/~1api~1auth~1phone~1email-status/post/responses/400/content/application~1json/examples/admin_forbidden":{"value":{"success":false,"message":"Admin account cannot be used through public auth","error_code":"invalid_body","data":null},"key":"admin_forbidden","summary":"admin_forbidden","id":"paths/~1api~1auth~1phone~1email-status/post/responses/400/content/application~1json/examples/admin_forbidden"},"paths/~1api~1auth~1phone~1email-status/post/responses/400/content/application~1json/examples/role_only_for_salon":{"value":{"success":false,"message":"Role in salon can be specified only for SALON account","error_code":"invalid_body","data":null},"key":"role_only_for_salon","summary":"role_only_for_salon","id":"paths/~1api~1auth~1phone~1email-status/post/responses/400/content/application~1json/examples/role_only_for_salon"},"paths/~1api~1auth~1phone~1email-status/post/responses/400/content/application~1json/examples/salon_role_required":{"value":{"success":false,"message":"Role in salon cannot be null for SALON account","error_code":"invalid_body","data":null},"key":"salon_role_required","summary":"salon_role_required","id":"paths/~1api~1auth~1phone~1email-status/post/responses/400/content/application~1json/examples/salon_role_required"},"paths/~1api~1auth~1phone~1email-status/post/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1auth~1phone~1email-status/post/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1auth~1email~1login/post/requestBody/content/application~1json/examples/example":{"value":{"email":"user@example.com","otp":"123456","type_account":"CLIENT","role_in_salon":null},"key":"example","summary":"example","id":"paths/~1api~1auth~1email~1login/post/requestBody/content/application~1json/examples/example"},"paths/~1api~1auth~1email~1login/post/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"The authorization process has been completed successfully!","error_code":null,"data":{"JWT":"<access_token>","RT":"<refresh_token>"}},"key":"ok","summary":"ok","id":"paths/~1api~1auth~1email~1login/post/responses/200/content/application~1json/examples/ok"},"paths/~1api~1auth~1email~1login/post/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1auth~1email~1login/post/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1auth~1email~1login/post/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1auth~1email~1login/post/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1auth~1email~1login/post/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1auth~1email~1login/post/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1auth~1email~1login/post/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1auth~1email~1login/post/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1auth~1email~1login/post/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Resource not found","codeError":"not_found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1auth~1email~1login/post/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1auth~1email~1login/post/responses/410/content/application~1json/examples/code_is_gone":{"value":{"success":false,"message":"The code is no longer validate. Please request a new one!","error_code":"code_is_gone","data":null},"key":"code_is_gone","summary":"code_is_gone","id":"paths/~1api~1auth~1email~1login/post/responses/410/content/application~1json/examples/code_is_gone"},"paths/~1api~1auth~1phone~1edit/post/requestBody/content/application~1json/examples/example":{"value":{"phone":"+79991234567","otp":"123456"},"key":"example","summary":"example","id":"paths/~1api~1auth~1phone~1edit/post/requestBody/content/application~1json/examples/example"},"paths/~1api~1auth~1phone~1edit/post/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Phone successfully changed!","error_code":null,"data":null},"key":"ok","summary":"ok","id":"paths/~1api~1auth~1phone~1edit/post/responses/200/content/application~1json/examples/ok"},"paths/~1api~1auth~1phone~1edit/post/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1auth~1phone~1edit/post/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1auth~1phone~1edit/post/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1auth~1phone~1edit/post/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1auth~1phone~1edit/post/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1auth~1phone~1edit/post/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1auth~1phone~1edit/post/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1auth~1phone~1edit/post/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1auth~1phone~1edit/post/responses/409/content/application~1json/examples/phone_already_registered":{"value":{"success":false,"message":"Phone already registered","error_code":"conflict","data":null},"key":"phone_already_registered","summary":"phone_already_registered","id":"paths/~1api~1auth~1phone~1edit/post/responses/409/content/application~1json/examples/phone_already_registered"},"paths/~1api~1auth~1phone~1edit/post/responses/409/content/application~1json/examples/object_modified":{"value":{"success":false,"message":"Object was modified by another request. Please reload and try again.","error_code":"object_modified_by_another_thread","data":null},"key":"object_modified","summary":"object_modified","id":"paths/~1api~1auth~1phone~1edit/post/responses/409/content/application~1json/examples/object_modified"},"paths/~1api~1auth~1phone~1edit/post/responses/410/content/application~1json/examples/code_is_gone":{"value":{"success":false,"message":"The code is no longer validate. Please request a new one!","error_code":"code_is_gone","data":null},"key":"code_is_gone","summary":"code_is_gone","id":"paths/~1api~1auth~1phone~1edit/post/responses/410/content/application~1json/examples/code_is_gone"},"paths/~1api~1auth~1email~1send~1otp/post/requestBody/content/application~1json/examples/example":{"value":{"recipient":"user@example.com"},"key":"example","summary":"example","id":"paths/~1api~1auth~1email~1send~1otp/post/requestBody/content/application~1json/examples/example"},"paths/~1api~1auth~1email~1send~1otp/post/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"If the address is available for binding, we will send a code to it.","error_code":null,"data":null},"key":"ok","summary":"ok","id":"paths/~1api~1auth~1email~1send~1otp/post/responses/200/content/application~1json/examples/ok"},"paths/~1api~1auth~1email~1send~1otp/post/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1auth~1email~1send~1otp/post/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1auth~1email~1send~1otp/post/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1auth~1email~1send~1otp/post/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1auth~1email~1send~1otp/post/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1auth~1email~1send~1otp/post/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1auth~1email~1send~1otp/post/responses/403/content/application~1json/examples/invalid_captcha":{"value":{"success":false,"message":"Invalid Captcha","error_code":"invalid_captcha","data":null},"key":"invalid_captcha","summary":"invalid_captcha","id":"paths/~1api~1auth~1email~1send~1otp/post/responses/403/content/application~1json/examples/invalid_captcha"},"paths/~1api~1auth~1email~1send~1otp/post/responses/409/content/application~1json/examples/email_already_attached":{"value":{"success":false,"message":"Email already attached","error_code":"conflict","data":null},"key":"email_already_attached","summary":"email_already_attached","id":"paths/~1api~1auth~1email~1send~1otp/post/responses/409/content/application~1json/examples/email_already_attached"},"paths/~1api~1auth~1email~1send~1otp/post/responses/409/content/application~1json/examples/email_already_registered":{"value":{"success":false,"message":"Email already registered","error_code":"conflict","data":null},"key":"email_already_registered","summary":"email_already_registered","id":"paths/~1api~1auth~1email~1send~1otp/post/responses/409/content/application~1json/examples/email_already_registered"},"paths/~1api~1auth~1email~1send~1otp/post/responses/429/content/application~1json/examples/too_many":{"value":{"success":false,"message":"Too many requests","error_code":"too_many_request","data":{"TTL":60}},"key":"too_many","summary":"too_many","id":"paths/~1api~1auth~1email~1send~1otp/post/responses/429/content/application~1json/examples/too_many"},"paths/~1api~1auth~1email~1add/put/requestBody/content/application~1json/examples/example":{"value":{"email":"user@example.com","otp":"123456"},"key":"example","summary":"example","id":"paths/~1api~1auth~1email~1add/put/requestBody/content/application~1json/examples/example"},"paths/~1api~1auth~1email~1add/put/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Email successfully added!","error_code":null,"data":null},"key":"ok","summary":"ok","id":"paths/~1api~1auth~1email~1add/put/responses/200/content/application~1json/examples/ok"},"paths/~1api~1auth~1email~1add/put/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1auth~1email~1add/put/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1auth~1email~1add/put/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1auth~1email~1add/put/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1auth~1email~1add/put/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1auth~1email~1add/put/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1auth~1email~1add/put/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1auth~1email~1add/put/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1auth~1email~1add/put/responses/409/content/application~1json/examples/email_already_registered":{"value":{"success":false,"message":"Email already registered","error_code":"conflict","data":null},"key":"email_already_registered","summary":"email_already_registered","id":"paths/~1api~1auth~1email~1add/put/responses/409/content/application~1json/examples/email_already_registered"},"paths/~1api~1auth~1email~1add/put/responses/410/content/application~1json/examples/code_is_gone":{"value":{"success":false,"message":"The code is no longer validate. Please request a new one!","error_code":"code_is_gone","data":null},"key":"code_is_gone","summary":"code_is_gone","id":"paths/~1api~1auth~1email~1add/put/responses/410/content/application~1json/examples/code_is_gone"},"paths/~1api~1auth~1refresh-token/post/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Token refreshed successfully","error_code":null,"data":{"JWT":"<new_access_token>","RT":"<new_refresh_token>"}},"key":"ok","summary":"ok","id":"paths/~1api~1auth~1refresh-token/post/responses/200/content/application~1json/examples/ok"},"paths/~1api~1auth~1logout/post/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"logout completed successfully","error_code":null,"data":null},"key":"ok","summary":"ok","id":"paths/~1api~1auth~1logout/post/responses/200/content/application~1json/examples/ok"},"paths/~1api~1auth~1logout/post/responses/401/content/application~1json/examples/invalid_refresh_token":{"value":{"success":false,"message":"Invalid refresh token","error_code":"unauthorized","data":null},"key":"invalid_refresh_token","summary":"invalid_refresh_token","id":"paths/~1api~1auth~1logout/post/responses/401/content/application~1json/examples/invalid_refresh_token"},"paths/~1api~1file~1upload/post/requestBody/content/multipart~1form-data/examples/avatarExample":{"value":{"file":"@avatar.png;type=image/png","metadata":"{\"purpose\":\"AVATAR\",\"crop\":{\"height\":300,\"width\":300,\"x\":0,\"y\":0}};type=application/json"},"key":"avatarExample","summary":"avatarExample","id":"paths/~1api~1file~1upload/post/requestBody/content/multipart~1form-data/examples/avatarExample"},"paths/~1api~1file~1upload/post/requestBody/content/multipart~1form-data/examples/cardExample":{"value":{"file":"@card-master.png;type=image/png","metadata":"{\"purpose\":\"CARD\"};type=application/json"},"key":"cardExample","summary":"cardExample","id":"paths/~1api~1file~1upload/post/requestBody/content/multipart~1form-data/examples/cardExample"},"paths/~1api~1file~1upload/post/requestBody/content/multipart~1form-data/examples/categoryExample":{"value":{"file":"@category.png;type=image/png","metadata":"{\"purpose\":\"CATEGORY\"};type=application/json"},"key":"categoryExample","summary":"categoryExample","id":"paths/~1api~1file~1upload/post/requestBody/content/multipart~1form-data/examples/categoryExample"},"paths/~1api~1file~1upload/post/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"File upload successfully","error_code":null,"data":{"file_id":"id"}},"key":"ok","summary":"ok","id":"paths/~1api~1file~1upload/post/responses/200/content/application~1json/examples/ok"},"paths/~1api~1file~1upload/post/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1file~1upload/post/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1file~1upload/post/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1file~1upload/post/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1file~1upload/post/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1file~1upload/post/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1file~1upload/post/responses/429/content/application~1json/examples/too_many":{"value":{"success":false,"message":"Too many requests","error_code":"too_many_request","data":{"TTL":60}},"key":"too_many","summary":"too_many","id":"paths/~1api~1file~1upload/post/responses/429/content/application~1json/examples/too_many"},"paths/~1api~1file~1{id}/get/responses/200/content/application~1json/examples/pending":{"value":{"success":true,"message":"File is still processing","error_code":null,"data":{"file_id":123,"file_name":"avatar.png","status":"PENDING","url":null}},"key":"pending","summary":"pending","id":"paths/~1api~1file~1{id}/get/responses/200/content/application~1json/examples/pending"},"paths/~1api~1file~1{id}/get/responses/200/content/application~1json/examples/failed":{"value":{"success":true,"message":"File processing failed. Please re-upload the file","error_code":null,"data":{"file_id":123,"file_name":"avatar.png","status":"FAILED","url":null}},"key":"failed","summary":"failed","id":"paths/~1api~1file~1{id}/get/responses/200/content/application~1json/examples/failed"},"paths/~1api~1file~1{id}/get/responses/200/content/application~1json/examples/uploaded":{"value":{"success":true,"message":"File link received successfully","error_code":null,"data":{"file_id":123,"file_name":"avatar.png","status":"UPLOADED","url":"https://storage.example.com/presigned"}},"key":"uploaded","summary":"uploaded","id":"paths/~1api~1file~1{id}/get/responses/200/content/application~1json/examples/uploaded"},"paths/~1api~1account~1block-status/get/responses/200/content/application~1json/examples/active":{"value":{"success":true,"message":"Account block status retrieved successfully","error_code":null,"data":{"blocked":false,"reason":null}},"key":"active","summary":"active","id":"paths/~1api~1account~1block-status/get/responses/200/content/application~1json/examples/active"},"paths/~1api~1account~1block-status/get/responses/200/content/application~1json/examples/blocked":{"value":{"success":true,"message":"Account block status retrieved successfully","error_code":null,"data":{"blocked":true,"reason":"Нарушение правил платформы"}},"key":"blocked","summary":"blocked","id":"paths/~1api~1account~1block-status/get/responses/200/content/application~1json/examples/blocked"},"paths/~1api~1account~1block-status/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1account~1block-status/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1user/get/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Successfully retrieved user information","error_code":null,"data":{"user":{"id":1,"first_name":"Ivan","last_name":"Ivanov","city":"Minsk","address":"Minsk","phone":"+79991112233","avatar":42,"geolocation":{"lat":55.75,"lon":37.62},"type_account":"CLIENT"}}},"key":"ok","summary":"ok","id":"paths/~1api~1user/get/responses/200/content/application~1json/examples/ok"},"paths/~1api~1user/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1user/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1user/patch/requestBody/content/application~1json/examples/updateName":{"value":{"first_name":"Ivan","last_name":"Ivanov"},"key":"updateName","summary":"updateName","id":"paths/~1api~1user/patch/requestBody/content/application~1json/examples/updateName"},"paths/~1api~1user/patch/requestBody/content/application~1json/examples/updateCity":{"value":{"city":"Minsk"},"key":"updateCity","summary":"updateCity","id":"paths/~1api~1user/patch/requestBody/content/application~1json/examples/updateCity"},"paths/~1api~1user/patch/requestBody/content/application~1json/examples/updateAvatar":{"value":{"avatar":42},"key":"updateAvatar","summary":"updateAvatar","id":"paths/~1api~1user/patch/requestBody/content/application~1json/examples/updateAvatar"},"paths/~1api~1user/patch/requestBody/content/application~1json/examples/updateGeo":{"value":{"geolocation":{"lat":55.75,"lon":37.62}},"key":"updateGeo","summary":"updateGeo","id":"paths/~1api~1user/patch/requestBody/content/application~1json/examples/updateGeo"},"paths/~1api~1user/patch/requestBody/content/application~1json/examples/updateCategories":{"value":{"category_ids":[1,2,3]},"key":"updateCategories","summary":"updateCategories","id":"paths/~1api~1user/patch/requestBody/content/application~1json/examples/updateCategories"},"paths/~1api~1user/patch/responses/200/content/application~1json/examples/changed":{"value":{"success":true,"message":"User updated successfully","error_code":null,"data":{"changed":true,"user":{"id":1,"first_name":"Ivan","last_name":"Ivanov","city":"Minsk","address":"Minsk, улица Ленина, 10","phone":"+79991112233","avatar":42,"category_ids":[1,2,3],"geolocation":{"lat":55.75,"lon":37.62},"type_account":"CLIENT"}}},"key":"changed","summary":"changed","id":"paths/~1api~1user/patch/responses/200/content/application~1json/examples/changed"},"paths/~1api~1user/patch/responses/200/content/application~1json/examples/unchanged":{"value":{"success":true,"message":"No changes were made to the user","error_code":null,"data":{"changed":false,"user":{"id":1,"first_name":"Ivan","last_name":"Ivanov","city":"Minsk","address":"Minsk, улица Ленина, 10","phone":"+79991112233","avatar":42,"category_ids":[1,2,3],"geolocation":{"lat":55.75,"lon":37.62},"type_account":"CLIENT"}}},"key":"unchanged","summary":"unchanged","id":"paths/~1api~1user/patch/responses/200/content/application~1json/examples/unchanged"},"paths/~1api~1user/patch/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Invalid body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1user/patch/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1user/patch/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1user/patch/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1user/patch/responses/403/content/application~1json/examples/no_file_access":{"value":{"success":false,"message":"You haven't access to this file","error_code":"forbidden","data":null},"key":"no_file_access","summary":"no_file_access","id":"paths/~1api~1user/patch/responses/403/content/application~1json/examples/no_file_access"},"paths/~1api~1user/patch/responses/403/content/application~1json/examples/avatar_not_allowed":{"value":{"success":false,"message":"You can't set this file as avatar","error_code":"forbidden","data":null},"key":"avatar_not_allowed","summary":"avatar_not_allowed","id":"paths/~1api~1user/patch/responses/403/content/application~1json/examples/avatar_not_allowed"},"paths/~1api~1user/patch/responses/404/content/application~1json/examples/category_not_found":{"value":{"success":false,"message":"Category not found","error_code":"not_found","data":null},"key":"category_not_found","summary":"category_not_found","id":"paths/~1api~1user/patch/responses/404/content/application~1json/examples/category_not_found"},"paths/~1api~1user/patch/responses/409/content/application~1json/examples/object_modified_by_another_thread":{"value":{"success":false,"message":"Object was modified by another request. Please reload and try again.","codeError":"object_modified_by_another_thread","error_code":"object_modified_by_another_thread","data":null},"key":"object_modified_by_another_thread","summary":"object_modified_by_another_thread","id":"paths/~1api~1user/patch/responses/409/content/application~1json/examples/object_modified_by_another_thread"},"paths/~1api~1user/patch/responses/422/content/application~1json/examples/geocoding_failed":{"value":{"success":false,"message":"Failed to geocode user location","error_code":"geocoding_failed","data":null},"key":"geocoding_failed","summary":"geocoding_failed","id":"paths/~1api~1user/patch/responses/422/content/application~1json/examples/geocoding_failed"},"paths/~1api~1user/delete/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"User deleted successfully","error_code":null,"data":null},"key":"ok","summary":"ok","id":"paths/~1api~1user/delete/responses/200/content/application~1json/examples/ok"},"paths/~1api~1user/delete/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1user/delete/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1user~1addresses/get/responses/200/content/application~1json/examples/with_addresses":{"value":{"success":true,"message":"User addresses retrieved successfully","codeError":null,"error_code":null,"data":{"addresses":[{"id":42,"city":"Москва","address":"г Москва, ул Тверская, д 10","geolocation":{"lat":55.7579,"lon":37.6144},"is_active":true}]}},"key":"with_addresses","summary":"У клиента есть сохранённые адреса","id":"paths/~1api~1user~1addresses/get/responses/200/content/application~1json/examples/with_addresses"},"paths/~1api~1user~1addresses/get/responses/200/content/application~1json/examples/empty":{"value":{"success":true,"message":"User addresses retrieved successfully","codeError":null,"error_code":null,"data":{"addresses":[]}},"key":"empty","summary":"Сохранённых адресов нет","id":"paths/~1api~1user~1addresses/get/responses/200/content/application~1json/examples/empty"},"paths/~1api~1user~1addresses/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1user~1addresses/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1user~1addresses/get/responses/500/content/application~1json/example":{"value":{"success":false,"message":"Internal server error","codeError":"internal_error","error_code":"internal_error","data":null},"id":"paths/~1api~1user~1addresses/get/responses/500/content/application~1json/example"},"paths/~1api~1user~1addresses/post/responses/201/content/application~1json/example":{"value":{"success":true,"message":"User address added successfully","codeError":null,"error_code":null,"data":{"address":{"id":43,"city":"Москва","address":"г Москва, ул Тверская, д 10","geolocation":{"lat":55.7579,"lon":37.6144},"is_active":true}}},"id":"paths/~1api~1user~1addresses/post/responses/201/content/application~1json/example"},"paths/~1api~1user~1addresses/post/responses/400/content/application~1json/examples/invalid_city":{"value":{"success":false,"message":"City must not be blank and must not be longer than 100 characters","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_city","summary":"Город отсутствует или длиннее 100 символов","id":"paths/~1api~1user~1addresses/post/responses/400/content/application~1json/examples/invalid_city"},"paths/~1api~1user~1addresses/post/responses/400/content/application~1json/examples/invalid_address":{"value":{"success":false,"message":"Address must not be blank and must not be longer than 1000 characters","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_address","summary":"Адрес отсутствует или длиннее 1000 символов","id":"paths/~1api~1user~1addresses/post/responses/400/content/application~1json/examples/invalid_address"},"paths/~1api~1user~1addresses/post/responses/400/content/application~1json/examples/invalid_geolocation":{"value":{"success":false,"message":"Geolocation must contain finite lat in range [-90, 90] and lon in range [-180, 180]","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_geolocation","summary":"Координаты отсутствуют или выходят за допустимые диапазоны","id":"paths/~1api~1user~1addresses/post/responses/400/content/application~1json/examples/invalid_geolocation"},"paths/~1api~1user~1addresses/post/responses/400/content/application~1json/examples/malformed_json":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"malformed_json","summary":"Некорректный JSON или неверный тип поля","id":"paths/~1api~1user~1addresses/post/responses/400/content/application~1json/examples/malformed_json"},"paths/~1api~1user~1addresses/post/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1user~1addresses/post/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1user~1addresses/post/responses/403/content/application~1json/example":{"value":{"success":false,"message":"User is blocked","codeError":"user_blocked","error_code":"user_blocked","data":{"reason":"Нарушение правил платформы"}},"id":"paths/~1api~1user~1addresses/post/responses/403/content/application~1json/example"},"paths/~1api~1user~1addresses/post/responses/409/content/application~1json/example":{"value":{"success":false,"message":"User address already exists","codeError":"conflict","error_code":"conflict","data":null},"id":"paths/~1api~1user~1addresses/post/responses/409/content/application~1json/example"},"paths/~1api~1user~1addresses/post/responses/415/content/application~1json/example":{"value":{"success":false,"message":"Content-Type 'text/plain' is not supported","codeError":"invalid_body","error_code":"invalid_body","data":null},"id":"paths/~1api~1user~1addresses/post/responses/415/content/application~1json/example"},"paths/~1api~1user~1addresses/post/responses/500/content/application~1json/example":{"value":{"success":false,"message":"Internal server error","codeError":"internal_error","error_code":"internal_error","data":null},"id":"paths/~1api~1user~1addresses/post/responses/500/content/application~1json/example"},"paths/~1api~1user~1addresses~1{addressId}/delete/responses/200/content/application~1json/example":{"value":{"success":true,"message":"User address deleted successfully","codeError":null,"error_code":null,"data":{"deleted":true,"address_id":43}},"id":"paths/~1api~1user~1addresses~1{addressId}/delete/responses/200/content/application~1json/example"},"paths/~1api~1user~1addresses~1{addressId}/delete/responses/400/content/application~1json/example":{"value":{"success":false,"message":"Address ID must be greater than 0","codeError":"invalid_body","error_code":"invalid_body","data":null},"id":"paths/~1api~1user~1addresses~1{addressId}/delete/responses/400/content/application~1json/example"},"paths/~1api~1user~1addresses~1{addressId}/delete/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1user~1addresses~1{addressId}/delete/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1user~1addresses~1{addressId}/delete/responses/403/content/application~1json/example":{"value":{"success":false,"message":"User is blocked","codeError":"user_blocked","error_code":"user_blocked","data":{"reason":"Нарушение правил платформы"}},"id":"paths/~1api~1user~1addresses~1{addressId}/delete/responses/403/content/application~1json/example"},"paths/~1api~1user~1addresses~1{addressId}/delete/responses/404/content/application~1json/example":{"value":{"success":false,"message":"User address not found","codeError":"not_found","error_code":"not_found","data":null},"id":"paths/~1api~1user~1addresses~1{addressId}/delete/responses/404/content/application~1json/example"},"paths/~1api~1user~1addresses~1{addressId}/delete/responses/409/content/application~1json/example":{"value":{"success":false,"message":"Active address cannot be deleted","codeError":"conflict","error_code":"conflict","data":null},"id":"paths/~1api~1user~1addresses~1{addressId}/delete/responses/409/content/application~1json/example"},"paths/~1api~1user~1addresses~1{addressId}/delete/responses/500/content/application~1json/example":{"value":{"success":false,"message":"Internal server error","codeError":"internal_error","error_code":"internal_error","data":null},"id":"paths/~1api~1user~1addresses~1{addressId}/delete/responses/500/content/application~1json/example"},"paths/~1api~1user~1addresses~1{addressId}~1active/patch/responses/200/content/application~1json/example":{"value":{"success":true,"message":"User address set as active successfully","codeError":null,"error_code":null,"data":{"address":{"id":42,"city":"Москва","address":"г Москва, ул Тверская, д 10","geolocation":{"lat":55.7579,"lon":37.6144},"is_active":true}}},"id":"paths/~1api~1user~1addresses~1{addressId}~1active/patch/responses/200/content/application~1json/example"},"paths/~1api~1user~1addresses~1{addressId}~1active/patch/responses/400/content/application~1json/example":{"value":{"success":false,"message":"Address ID must be greater than 0","codeError":"invalid_body","error_code":"invalid_body","data":null},"id":"paths/~1api~1user~1addresses~1{addressId}~1active/patch/responses/400/content/application~1json/example"},"paths/~1api~1user~1addresses~1{addressId}~1active/patch/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1user~1addresses~1{addressId}~1active/patch/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1user~1addresses~1{addressId}~1active/patch/responses/403/content/application~1json/example":{"value":{"success":false,"message":"User is blocked","codeError":"user_blocked","error_code":"user_blocked","data":{"reason":"Нарушение правил платформы"}},"id":"paths/~1api~1user~1addresses~1{addressId}~1active/patch/responses/403/content/application~1json/example"},"paths/~1api~1user~1addresses~1{addressId}~1active/patch/responses/404/content/application~1json/example":{"value":{"success":false,"message":"User address not found","codeError":"not_found","error_code":"not_found","data":null},"id":"paths/~1api~1user~1addresses~1{addressId}~1active/patch/responses/404/content/application~1json/example"},"paths/~1api~1user~1addresses~1{addressId}~1active/patch/responses/500/content/application~1json/example":{"value":{"success":false,"message":"Internal server error","codeError":"internal_error","error_code":"internal_error","data":null},"id":"paths/~1api~1user~1addresses~1{addressId}~1active/patch/responses/500/content/application~1json/example"},"paths/~1api~1master/get/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Successfully retrieved master information","error_code":null,"data":{"master":{"id":5,"user_id":10,"category_ids":[1,2],"example_work_images":[101,102],"experience_years":50,"address":"Minsk, Nezavisimosti 1","description":"Hair master with salon and client appointments.","interior_description":"Bright private studio with sterilized tools.","interior_images":[201,202],"advantages":["Parking","Wi-Fi"],"service_locations":[{"service_location":"CLIENT_PLACE","address":"Minsk","radius_km":10}],"min_booking_lead_time_minutes":60,"break_after_service_min":15,"phone":"+79991112233","email":"master@example.com","first_name":"Anna","last_name":"Ivanova","city":"Minsk","avatar":42,"geolocation":{"lat":53.9,"lon":27.56}}}},"key":"ok","summary":"ok","id":"paths/~1api~1master/get/responses/200/content/application~1json/examples/ok"},"paths/~1api~1master/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1master/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1master/patch/requestBody/content/application~1json/examples/updateContacts":{"value":{"first_name":"Anna","city":"Minsk","geolocation":{"lat":53.9,"lon":27.56}},"key":"updateContacts","summary":"updateContacts","id":"paths/~1api~1master/patch/requestBody/content/application~1json/examples/updateContacts"},"paths/~1api~1master/patch/requestBody/content/application~1json/examples/updateProfessional":{"value":{"experience_years":50,"address":"Minsk, Nezavisimosti 1","geolocation":{"lat":53.9022,"lon":27.5618},"description":"Hair master with salon and client appointments.","interior_description":"Bright private studio with sterilized tools.","advantages":["Parking","Wi-Fi"],"service_locations":[{"service_location":"CLIENT_PLACE","address":"Minsk","radius_km":10}]},"key":"updateProfessional","summary":"updateProfessional","id":"paths/~1api~1master/patch/requestBody/content/application~1json/examples/updateProfessional"},"paths/~1api~1master/patch/requestBody/content/application~1json/examples/updateMediaAndCategories":{"value":{"avatar":42,"category_ids":[1,2],"example_work_images":[101,102],"interior_images":[201,202]},"key":"updateMediaAndCategories","summary":"updateMediaAndCategories","id":"paths/~1api~1master/patch/requestBody/content/application~1json/examples/updateMediaAndCategories"},"paths/~1api~1master/patch/responses/200/content/application~1json/examples/changed":{"value":{"success":true,"message":"Master updated successfully","error_code":null,"data":{"changed":true,"master":{"id":5,"user_id":10,"category_ids":[1,2],"example_work_images":[101,102],"experience_years":50,"address":"Minsk, Nezavisimosti 1","description":"Hair master with salon and client appointments.","interior_description":"Bright private studio with sterilized tools.","interior_images":[201,202],"advantages":["Parking","Wi-Fi"],"service_locations":[{"service_location":"CLIENT_PLACE","address":"Minsk","radius_km":10}],"min_booking_lead_time_minutes":60,"break_after_service_min":15,"phone":"+79991112233","email":"master@example.com","first_name":"Anna","last_name":"Ivanova","city":"Minsk","avatar":42,"geolocation":{"lat":53.9,"lon":27.56}}}},"key":"changed","summary":"changed","id":"paths/~1api~1master/patch/responses/200/content/application~1json/examples/changed"},"paths/~1api~1master/patch/responses/200/content/application~1json/examples/unchanged":{"value":{"success":true,"message":"No changes were made to the master","error_code":null,"data":{"changed":false,"master":{"id":5,"user_id":10,"category_ids":[1,2],"example_work_images":[101,102],"experience_years":50,"address":"Minsk, Nezavisimosti 1","description":"Hair master with salon and client appointments.","interior_description":"Bright private studio with sterilized tools.","interior_images":[201,202],"advantages":["Parking","Wi-Fi"],"service_locations":[{"service_location":"CLIENT_PLACE","address":"Minsk","radius_km":10}],"min_booking_lead_time_minutes":60,"break_after_service_min":15,"phone":"+79991112233","email":"master@example.com","first_name":"Anna","last_name":"Ivanova","city":"Minsk","avatar":42,"geolocation":{"lat":53.9,"lon":27.56}}}},"key":"unchanged","summary":"unchanged","id":"paths/~1api~1master/patch/responses/200/content/application~1json/examples/unchanged"},"paths/~1api~1master/patch/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"At least one field must be filled correctly","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1master/patch/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1master/patch/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1master/patch/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1master/patch/responses/403/content/application~1json/examples/no_file_access":{"value":{"success":false,"message":"You haven't access to this file","error_code":"forbidden","data":null},"key":"no_file_access","summary":"no_file_access","id":"paths/~1api~1master/patch/responses/403/content/application~1json/examples/no_file_access"},"paths/~1api~1master/patch/responses/403/content/application~1json/examples/avatar_not_allowed":{"value":{"success":false,"message":"You can't set this file as avatar","error_code":"forbidden","data":null},"key":"avatar_not_allowed","summary":"avatar_not_allowed","id":"paths/~1api~1master/patch/responses/403/content/application~1json/examples/avatar_not_allowed"},"paths/~1api~1master/patch/responses/403/content/application~1json/examples/cards_only":{"value":{"success":false,"message":"You can use only files with CARD purpose","error_code":"forbidden","data":null},"key":"cards_only","summary":"cards_only","id":"paths/~1api~1master/patch/responses/403/content/application~1json/examples/cards_only"},"paths/~1api~1master/patch/responses/404/content/application~1json/examples/category_not_found":{"value":{"success":false,"message":"Category not found","error_code":"not_found","data":null},"key":"category_not_found","summary":"category_not_found","id":"paths/~1api~1master/patch/responses/404/content/application~1json/examples/category_not_found"},"paths/~1api~1master/patch/responses/409/content/application~1json/examples/object_modified_by_another_thread":{"value":{"success":false,"message":"Object was modified by another request. Please reload and try again.","codeError":"object_modified_by_another_thread","error_code":"object_modified_by_another_thread","data":null},"key":"object_modified_by_another_thread","summary":"object_modified_by_another_thread","id":"paths/~1api~1master/patch/responses/409/content/application~1json/examples/object_modified_by_another_thread"},"paths/~1api~1master/patch/responses/422/content/application~1json/examples/geocoding_failed":{"value":{"success":false,"message":"Failed to geocode master address","error_code":"geocoding_failed","data":null},"key":"geocoding_failed","summary":"geocoding_failed","id":"paths/~1api~1master/patch/responses/422/content/application~1json/examples/geocoding_failed"},"paths/~1api~1master/delete/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"User deleted successfully","error_code":null,"data":null},"key":"ok","summary":"ok","id":"paths/~1api~1master/delete/responses/200/content/application~1json/examples/ok"},"paths/~1api~1master/delete/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1master/delete/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1master/delete/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1master/delete/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1master/delete/responses/409/content/application~1json/example":{"value":{"success":false,"message":"Master account cannot be deleted while it has booked records","error_code":"conflict","data":null},"id":"paths/~1api~1master/delete/responses/409/content/application~1json/example"},"paths/~1api~1master~1advantages~1suggestions/get/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Advantage suggestions retrieved successfully","codeError":null,"error_code":null,"data":{"items":["Без боли","Без скрытых доплат","Безопасная косметика"]}},"key":"ok","summary":"ok","id":"paths/~1api~1master~1advantages~1suggestions/get/responses/200/content/application~1json/examples/ok"},"paths/~1api~1master~1advantages~1suggestions/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1master~1advantages~1suggestions/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1master~1{id}/get/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Successfully retrieved master information","error_code":null,"data":{"master":{"id":900001,"example_images":[920001,920002,920003],"avatar":910001,"first_name":"Ольга","last_name":"Морозова","display_name":"Ольга Морозова","categories":[{"id":930001,"name":"Маникюр"},{"id":930002,"name":"Педикюр"}],"rating":4.75,"reviews_count":158,"experience_years":50,"description":"Мое создание пространства, где можно расслабиться и посвятить время себе.","advantages":["Сертифицированные мастера","Стерильность и безопасность","Премиальные материалы"],"interior_description":"Уютный интерьер, комфортные рабочие зоны и спокойная атмосфера.","interior_images":[920004,920005,920006],"location":{"service_locations":[{"service_location":"AT_MASTER_PLACE","address":"Moscow, Bolshaya Sadovaya, 100"}],"address":"г. Москва, ул. Большая Садовая, дом 100, кв. 59","geolocation":{"lat":55.7558,"lon":37.6173}}}}},"key":"ok","summary":"ok","id":"paths/~1api~1master~1{id}/get/responses/200/content/application~1json/examples/ok"},"paths/~1api~1master~1{id}/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1master~1{id}/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1master~1{id}/get/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Master not found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1master~1{id}/get/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1salon~1{id_salon}/get/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Salon found successfully","error_code":null,"data":{"name":"Persona","description":"Beauty salon in the city center.","interior_description":"Bright studio with separate manicure rooms.","city":"Minsk","address":"Minsk, Nezavisimosti 1","geolocation":{"lat":53.9,"lon":27.56},"contact_phone":"+375291112233","cover_photo_id":42,"category_ids":[1,2],"advantages":["Parking","Wi-Fi"],"interior_images":[201,202],"amenities":["PARKING","TEA_COFFEE"],"working_days":[{"day_of_week":"MONDAY","working":true,"start_time":"09:00","end_time":"18:00"},{"day_of_week":"TUESDAY","working":true,"start_time":"09:00","end_time":"18:00"},{"day_of_week":"WEDNESDAY","working":true,"start_time":"09:00","end_time":"18:00"},{"day_of_week":"THURSDAY","working":true,"start_time":"09:00","end_time":"18:00"},{"day_of_week":"FRIDAY","working":true,"start_time":"09:00","end_time":"18:00"},{"day_of_week":"SATURDAY","working":false,"start_time":null,"end_time":null},{"day_of_week":"SUNDAY","working":false,"start_time":null,"end_time":null}],"rating":4.27}},"key":"ok","summary":"ok","id":"paths/~1api~1salon~1{id_salon}/get/responses/200/content/application~1json/examples/ok"},"paths/~1api~1salon~1{id_salon}/get/responses/400/content/application~1json/examples/invalid_id":{"value":{"success":false,"message":"Salon ID must be greater than 0","error_code":"invalid_body","data":null},"key":"invalid_id","summary":"invalid_id","id":"paths/~1api~1salon~1{id_salon}/get/responses/400/content/application~1json/examples/invalid_id"},"paths/~1api~1salon~1{id_salon}/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1salon~1{id_salon}/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1salon~1{id_salon}/get/responses/404/content/application~1json/examples/salon_not_found":{"value":{"success":false,"message":"Salon not found","error_code":"not_found","data":null},"key":"salon_not_found","summary":"salon_not_found","id":"paths/~1api~1salon~1{id_salon}/get/responses/404/content/application~1json/examples/salon_not_found"},"paths/~1api~1salon/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1salon/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1salon/delete/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1salon/delete/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1salon/delete/responses/409/content/application~1json/example":{"value":{"success":false,"message":"Salon account cannot be deleted while it or its employees have booked records","error_code":"account_deletion_blocked","data":null},"id":"paths/~1api~1salon/delete/responses/409/content/application~1json/example"},"paths/~1api~1salon/patch/requestBody/content/application~1json/examples/full":{"value":{"name":"Persona","cover_photo_id":42,"city":"Minsk","address":"Minsk, Nezavisimosti 1","geolocation":{"lat":53.9,"lon":27.56},"contact_phone":"+375291112233","description":"Beauty salon in the city center.","interior_description":"Bright studio with separate manicure rooms.","category_ids":[1,2],"advantages":["Parking","Wi-Fi"],"interior_images":[201,202],"amenities":["PARKING","TEA_COFFEE"],"working_days":[{"day_of_week":"MONDAY","working":true,"start_time":"09:00","end_time":"18:00"},{"day_of_week":"TUESDAY","working":true,"start_time":"09:00","end_time":"18:00"},{"day_of_week":"WEDNESDAY","working":true,"start_time":"09:00","end_time":"18:00"},{"day_of_week":"THURSDAY","working":true,"start_time":"09:00","end_time":"18:00"},{"day_of_week":"FRIDAY","working":true,"start_time":"09:00","end_time":"18:00"},{"day_of_week":"SATURDAY","working":false,"start_time":null,"end_time":null},{"day_of_week":"SUNDAY","working":false,"start_time":null,"end_time":null}]},"key":"full","summary":"full","id":"paths/~1api~1salon/patch/requestBody/content/application~1json/examples/full"},"paths/~1api~1salon/patch/requestBody/content/application~1json/examples/partial":{"value":{"name":"Persona","city":"Minsk","geolocation":{"lat":53.9,"lon":27.56}},"key":"partial","summary":"partial","id":"paths/~1api~1salon/patch/requestBody/content/application~1json/examples/partial"},"paths/~1api~1salon/patch/responses/200/content/application~1json/examples/changed":{"value":{"success":true,"message":"Salon updated successfully","error_code":null,"data":{"changed":true,"name":"Persona","description":"Beauty salon in the city center.","interior_description":"Bright studio with separate manicure rooms.","city":"Minsk","address":"Minsk, Nezavisimosti 1","geolocation":{"lat":53.9,"lon":27.56},"contact_phone":"+375291112233","cover_photo_id":42,"category_ids":[1,2],"advantages":["Parking","Wi-Fi"],"interior_images":[201,202],"amenities":["PARKING","TEA_COFFEE"],"working_days":[{"day_of_week":"MONDAY","working":true,"start_time":"09:00","end_time":"18:00"},{"day_of_week":"TUESDAY","working":true,"start_time":"09:00","end_time":"18:00"},{"day_of_week":"WEDNESDAY","working":true,"start_time":"09:00","end_time":"18:00"},{"day_of_week":"THURSDAY","working":true,"start_time":"09:00","end_time":"18:00"},{"day_of_week":"FRIDAY","working":true,"start_time":"09:00","end_time":"18:00"},{"day_of_week":"SATURDAY","working":false,"start_time":null,"end_time":null},{"day_of_week":"SUNDAY","working":false,"start_time":null,"end_time":null}],"rating":4.27}},"key":"changed","summary":"changed","id":"paths/~1api~1salon/patch/responses/200/content/application~1json/examples/changed"},"paths/~1api~1salon/patch/responses/200/content/application~1json/examples/unchanged":{"value":{"success":true,"message":"No changes were made to the salon","error_code":null,"data":{"changed":false,"name":"Persona","city":"Minsk","rating":4.27}},"key":"unchanged","summary":"unchanged","id":"paths/~1api~1salon/patch/responses/200/content/application~1json/examples/unchanged"},"paths/~1api~1salon/patch/responses/400/content/application~1json/examples/empty_body":{"value":{"success":false,"message":"At least one field must be filled correctly","error_code":"invalid_body","data":null},"key":"empty_body","summary":"empty_body","id":"paths/~1api~1salon/patch/responses/400/content/application~1json/examples/empty_body"},"paths/~1api~1salon/patch/responses/400/content/application~1json/examples/invalid_geolocation":{"value":{"success":false,"message":"Latitude and longitude must be provided together and contain finite lat in range [-90, 90] and lon in range [-180, 180]","error_code":"invalid_body","data":null},"key":"invalid_geolocation","summary":"invalid_geolocation","id":"paths/~1api~1salon/patch/responses/400/content/application~1json/examples/invalid_geolocation"},"paths/~1api~1salon/patch/responses/400/content/application~1json/examples/invalid_working_days":{"value":{"success":false,"message":"Working days must contain MONDAY through SUNDAY in order","error_code":"invalid_body","data":null},"key":"invalid_working_days","summary":"invalid_working_days","id":"paths/~1api~1salon/patch/responses/400/content/application~1json/examples/invalid_working_days"},"paths/~1api~1salon/patch/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1salon/patch/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1salon/patch/responses/403/content/application~1json/examples/no_file_access":{"value":{"success":false,"message":"You haven't access to this file","error_code":"forbidden","data":null},"key":"no_file_access","summary":"no_file_access","id":"paths/~1api~1salon/patch/responses/403/content/application~1json/examples/no_file_access"},"paths/~1api~1salon/patch/responses/403/content/application~1json/examples/cards_only":{"value":{"success":false,"message":"You can use only files with CARD purpose","error_code":"forbidden","data":null},"key":"cards_only","summary":"cards_only","id":"paths/~1api~1salon/patch/responses/403/content/application~1json/examples/cards_only"},"paths/~1api~1salon/patch/responses/404/content/application~1json/examples/category_not_found":{"value":{"success":false,"message":"Category not found","error_code":"not_found","data":null},"key":"category_not_found","summary":"category_not_found","id":"paths/~1api~1salon/patch/responses/404/content/application~1json/examples/category_not_found"},"paths/~1api~1salon/patch/responses/409/content/application~1json/examples/object_modified_by_another_thread":{"value":{"success":false,"message":"Object was modified by another request. Please reload and try again.","codeError":"object_modified_by_another_thread","error_code":"object_modified_by_another_thread","data":null},"key":"object_modified_by_another_thread","summary":"object_modified_by_another_thread","id":"paths/~1api~1salon/patch/responses/409/content/application~1json/examples/object_modified_by_another_thread"},"paths/~1api~1salon~1members/get/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Salon members found successfully","error_code":null,"data":{"salon_masters":[{"id":8,"salon_id":15,"user_id":22,"category_ids":[1,2],"example_work_images":[101,102],"experience_years":50,"description":"Hair master with salon and client appointments.","interior_description":"Bright private studio with sterilized tools.","interior_images":[201,202],"advantages":["Parking","Wi-Fi"],"min_booking_lead_time_minutes":60,"break_after_service_min":15,"rating":4.8,"phone":null,"email":null,"first_name":"Max","last_name":"Ivanov","city":null,"avatar":42}],"salon_admins":[{"id":7,"salon_id":15,"user_id":21,"first_name":"Anna","last_name":"Adminova"}]}},"key":"ok","summary":"ok","id":"paths/~1api~1salon~1members/get/responses/200/content/application~1json/examples/ok"},"paths/~1api~1salon~1members/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1salon~1members/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1salon~1members/get/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Only salon member can view salon members","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1salon~1members/get/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1salon~1members~1{targetUserId}~1deactivate/post/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1salon~1members~1{targetUserId}~1deactivate/post/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1salon~1members~1{targetUserId}~1deactivate/post/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1salon~1members~1{targetUserId}~1deactivate/post/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1salon~1masters/get/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Salon masters found successfully","error_code":null,"data":{"salon_masters":[{"id":8,"salon_id":15,"user_id":22,"category_ids":[1,2],"example_work_images":[101,102],"experience_years":50,"description":"Hair master with salon and client appointments.","interior_description":"Bright private studio with sterilized tools.","interior_images":[201,202],"advantages":["Parking","Wi-Fi"],"min_booking_lead_time_minutes":60,"break_after_service_min":15,"rating":4.8,"phone":null,"email":null,"first_name":"Max","last_name":"Ivanov","city":null,"avatar":42}]}},"key":"ok","summary":"ok","id":"paths/~1api~1salon~1masters/get/responses/200/content/application~1json/examples/ok"},"paths/~1api~1salon~1masters/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1salon~1masters/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1salon~1masters/get/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Only salon member can view salon members","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1salon~1masters/get/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1salon~1master/post/requestBody/content/application~1json/examples/full":{"value":{"first_name":"Anna","last_name":"Ivanova","avatar":42,"category_ids":[1,2],"example_work_images":[101,102],"experience_years":50,"description":"Hair master with salon and client appointments.","interior_description":"Bright private studio with sterilized tools.","interior_images":[201,202],"advantages":["Parking","Wi-Fi"],"min_booking_lead_time_minutes":60,"break_after_service_min":15},"key":"full","summary":"full","id":"paths/~1api~1salon~1master/post/requestBody/content/application~1json/examples/full"},"paths/~1api~1salon~1master/post/responses/201/content/application~1json/examples/created":{"value":{"success":true,"message":"Salon master created successfully","error_code":null,"data":{"salon_master":{"id":15,"salon_id":3,"user_id":25,"category_ids":[1,2],"example_work_images":[101,102],"experience_years":50,"description":"Hair master with salon and client appointments.","interior_description":"Bright private studio with sterilized tools.","interior_images":[201,202],"advantages":["Parking","Wi-Fi"],"min_booking_lead_time_minutes":60,"break_after_service_min":15,"rating":0,"phone":null,"email":null,"first_name":"Anna","last_name":"Ivanova","city":null,"avatar":42}}},"key":"created","summary":"created","id":"paths/~1api~1salon~1master/post/responses/201/content/application~1json/examples/created"},"paths/~1api~1salon~1master/post/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"First name must not be blank and must not be longer than 100 characters","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1salon~1master/post/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1salon~1master/post/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1salon~1master/post/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1salon~1master/post/responses/403/content/application~1json/examples/forbidden_role":{"value":{"success":false,"message":"Only salon owner or salon admin can create salon master","error_code":"forbidden","data":null},"key":"forbidden_role","summary":"forbidden_role","id":"paths/~1api~1salon~1master/post/responses/403/content/application~1json/examples/forbidden_role"},"paths/~1api~1salon~1master/post/responses/403/content/application~1json/examples/no_file_access":{"value":{"success":false,"message":"You haven't access to this file","error_code":"forbidden","data":null},"key":"no_file_access","summary":"no_file_access","id":"paths/~1api~1salon~1master/post/responses/403/content/application~1json/examples/no_file_access"},"paths/~1api~1salon~1master/post/responses/403/content/application~1json/examples/cards_only":{"value":{"success":false,"message":"You can use only files with CARD purpose","error_code":"forbidden","data":null},"key":"cards_only","summary":"cards_only","id":"paths/~1api~1salon~1master/post/responses/403/content/application~1json/examples/cards_only"},"paths/~1api~1salon~1master/post/responses/404/content/application~1json/examples/salon_not_found":{"value":{"success":false,"message":"Salon not found","error_code":"not_found","data":null},"key":"salon_not_found","summary":"salon_not_found","id":"paths/~1api~1salon~1master/post/responses/404/content/application~1json/examples/salon_not_found"},"paths/~1api~1salon~1master/post/responses/404/content/application~1json/examples/category_not_found":{"value":{"success":false,"message":"Category not found","error_code":"not_found","data":null},"key":"category_not_found","summary":"category_not_found","id":"paths/~1api~1salon~1master/post/responses/404/content/application~1json/examples/category_not_found"},"paths/~1api~1salon~1master~1{salon_master_id}/get/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Salon master found successfully","error_code":null,"data":{"salon_master":{"id":8,"salon_id":15,"user_id":22,"category_ids":[1,2],"example_work_images":[101,102],"experience_years":50,"description":"Hair master with salon and client appointments.","interior_description":"Bright private studio with sterilized tools.","interior_images":[201,202],"advantages":["Parking","Wi-Fi"],"min_booking_lead_time_minutes":60,"break_after_service_min":15,"rating":4.8,"first_name":"Max","last_name":"Ivanov","city":null,"avatar":42}}},"key":"ok","summary":"ok","id":"paths/~1api~1salon~1master~1{salon_master_id}/get/responses/200/content/application~1json/examples/ok"},"paths/~1api~1salon~1master~1{salon_master_id}/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1salon~1master~1{salon_master_id}/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1salon~1master~1{salon_master_id}/get/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1salon~1master~1{salon_master_id}/get/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1salon~1master~1{salon_master_id}/get/responses/404/content/application~1json/examples/salon_master_not_found":{"value":{"success":false,"message":"Salon master not found","error_code":"not_found","data":null},"key":"salon_master_not_found","summary":"salon_master_not_found","id":"paths/~1api~1salon~1master~1{salon_master_id}/get/responses/404/content/application~1json/examples/salon_master_not_found"},"paths/~1api~1salon~1master~1{salon_master_id}/patch/requestBody/content/application~1json/examples/full":{"value":{"first_name":"Anna","last_name":"Ivanova","avatar":42,"category_ids":[1,2],"example_work_images":[101,102],"experience_years":50,"description":"Updated salon master description.","interior_description":"Updated interior description.","interior_images":[201,202],"advantages":["Parking","Wi-Fi"],"min_booking_lead_time_minutes":60,"break_after_service_min":15},"key":"full","summary":"full","id":"paths/~1api~1salon~1master~1{salon_master_id}/patch/requestBody/content/application~1json/examples/full"},"paths/~1api~1salon~1master~1{salon_master_id}/patch/requestBody/content/application~1json/examples/partial":{"value":{"first_name":"Anna","experience_years":60},"key":"partial","summary":"partial","id":"paths/~1api~1salon~1master~1{salon_master_id}/patch/requestBody/content/application~1json/examples/partial"},"paths/~1api~1salon~1master~1{salon_master_id}/patch/responses/200/content/application~1json/examples/changed":{"value":{"success":true,"message":"Salon master updated successfully","error_code":null,"data":{"changed":true,"salon_master":{"id":15,"salon_id":3,"user_id":25,"category_ids":[1,2],"example_work_images":[101,102],"experience_years":50,"description":"Updated salon master description.","interior_description":"Updated interior description.","interior_images":[201,202],"advantages":["Parking","Wi-Fi"],"min_booking_lead_time_minutes":60,"break_after_service_min":15,"rating":0,"phone":null,"email":null,"first_name":"Anna","last_name":"Ivanova","city":null,"avatar":42}}},"key":"changed","summary":"changed","id":"paths/~1api~1salon~1master~1{salon_master_id}/patch/responses/200/content/application~1json/examples/changed"},"paths/~1api~1salon~1master~1{salon_master_id}/patch/responses/200/content/application~1json/examples/unchanged":{"value":{"success":true,"message":"No changes were made to the salon master","error_code":null,"data":{"changed":false,"salon_master":{"id":15,"salon_id":3,"user_id":25,"first_name":"Anna","last_name":"Ivanova"}}},"key":"unchanged","summary":"unchanged","id":"paths/~1api~1salon~1master~1{salon_master_id}/patch/responses/200/content/application~1json/examples/unchanged"},"paths/~1api~1salon~1master~1{salon_master_id}/patch/responses/400/content/application~1json/examples/empty_body":{"value":{"success":false,"message":"At least one field must be filled correctly","error_code":"invalid_body","data":null},"key":"empty_body","summary":"empty_body","id":"paths/~1api~1salon~1master~1{salon_master_id}/patch/responses/400/content/application~1json/examples/empty_body"},"paths/~1api~1salon~1master~1{salon_master_id}/patch/responses/400/content/application~1json/examples/invalid_experience":{"value":{"success":false,"message":"Experience months must be in range [0, 720]","error_code":"invalid_body","data":null},"key":"invalid_experience","summary":"invalid_experience","id":"paths/~1api~1salon~1master~1{salon_master_id}/patch/responses/400/content/application~1json/examples/invalid_experience"},"paths/~1api~1salon~1master~1{salon_master_id}/patch/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1salon~1master~1{salon_master_id}/patch/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1salon~1master~1{salon_master_id}/patch/responses/403/content/application~1json/examples/forbidden_role":{"value":{"success":false,"message":"Only salon owner or salon admin can update salon master","error_code":"forbidden","data":null},"key":"forbidden_role","summary":"forbidden_role","id":"paths/~1api~1salon~1master~1{salon_master_id}/patch/responses/403/content/application~1json/examples/forbidden_role"},"paths/~1api~1salon~1master~1{salon_master_id}/patch/responses/403/content/application~1json/examples/no_file_access":{"value":{"success":false,"message":"You haven't access to this file","error_code":"forbidden","data":null},"key":"no_file_access","summary":"no_file_access","id":"paths/~1api~1salon~1master~1{salon_master_id}/patch/responses/403/content/application~1json/examples/no_file_access"},"paths/~1api~1salon~1master~1{salon_master_id}/patch/responses/403/content/application~1json/examples/wrong_avatar_purpose":{"value":{"success":false,"message":"You can't set this file as avatar","error_code":"forbidden","data":null},"key":"wrong_avatar_purpose","summary":"wrong_avatar_purpose","id":"paths/~1api~1salon~1master~1{salon_master_id}/patch/responses/403/content/application~1json/examples/wrong_avatar_purpose"},"paths/~1api~1salon~1master~1{salon_master_id}/patch/responses/403/content/application~1json/examples/cards_only":{"value":{"success":false,"message":"You can use only files with CARD purpose","error_code":"forbidden","data":null},"key":"cards_only","summary":"cards_only","id":"paths/~1api~1salon~1master~1{salon_master_id}/patch/responses/403/content/application~1json/examples/cards_only"},"paths/~1api~1salon~1master~1{salon_master_id}/patch/responses/404/content/application~1json/examples/salon_master_not_found":{"value":{"success":false,"message":"Salon master not found","error_code":"not_found","data":null},"key":"salon_master_not_found","summary":"salon_master_not_found","id":"paths/~1api~1salon~1master~1{salon_master_id}/patch/responses/404/content/application~1json/examples/salon_master_not_found"},"paths/~1api~1salon~1master~1{salon_master_id}/patch/responses/404/content/application~1json/examples/category_not_found":{"value":{"success":false,"message":"Category not found","error_code":"not_found","data":null},"key":"category_not_found","summary":"category_not_found","id":"paths/~1api~1salon~1master~1{salon_master_id}/patch/responses/404/content/application~1json/examples/category_not_found"},"paths/~1api~1salon~1master~1{salon_master_id}/delete/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Master account deleted successfully","error_code":null,"data":null},"id":"paths/~1api~1salon~1master~1{salon_master_id}/delete/responses/200/content/application~1json/example"},"paths/~1api~1salon~1master~1{salon_master_id}/delete/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1salon~1master~1{salon_master_id}/delete/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1salon~1master~1{salon_master_id}/delete/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1salon~1master~1{salon_master_id}/delete/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1salon~1master~1{salon_master_id}/delete/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Resource not found","codeError":"not_found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1salon~1master~1{salon_master_id}/delete/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1salon~1master~1{salon_master_id}/delete/responses/409/content/application~1json/example":{"value":{"success":false,"message":"Master account cannot be deleted while it has booked records","error_code":"conflict","data":null},"id":"paths/~1api~1salon~1master~1{salon_master_id}/delete/responses/409/content/application~1json/example"},"paths/~1api~1salon~1admin/post/requestBody/content/application~1json/examples/full":{"value":{"first_name":"Nina","last_name":"Adminova"},"key":"full","summary":"full","id":"paths/~1api~1salon~1admin/post/requestBody/content/application~1json/examples/full"},"paths/~1api~1salon~1admin/post/responses/201/content/application~1json/examples/created":{"value":{"success":true,"message":"Salon admin created successfully","error_code":null,"data":{"salon_admin":{"id":10,"salon_id":3,"user_id":30,"first_name":"Nina","last_name":"Adminova"}}},"key":"created","summary":"created","id":"paths/~1api~1salon~1admin/post/responses/201/content/application~1json/examples/created"},"paths/~1api~1salon~1admin/post/responses/400/content/application~1json/examples/missing_first_name":{"value":{"success":false,"message":"First name cannot be null","error_code":"invalid_body","data":null},"key":"missing_first_name","summary":"missing_first_name","id":"paths/~1api~1salon~1admin/post/responses/400/content/application~1json/examples/missing_first_name"},"paths/~1api~1salon~1admin/post/responses/400/content/application~1json/examples/invalid_first_name":{"value":{"success":false,"message":"First name must not be blank and must not be longer than 100 characters","error_code":"invalid_body","data":null},"key":"invalid_first_name","summary":"invalid_first_name","id":"paths/~1api~1salon~1admin/post/responses/400/content/application~1json/examples/invalid_first_name"},"paths/~1api~1salon~1admin/post/responses/400/content/application~1json/examples/invalid_last_name":{"value":{"success":false,"message":"Last name must not be blank and must not be longer than 100 characters","error_code":"invalid_body","data":null},"key":"invalid_last_name","summary":"invalid_last_name","id":"paths/~1api~1salon~1admin/post/responses/400/content/application~1json/examples/invalid_last_name"},"paths/~1api~1salon~1admin/post/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1salon~1admin/post/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1salon~1admin/post/responses/403/content/application~1json/examples/forbidden_role":{"value":{"success":false,"message":"Only salon owner or salon admin can create salon admin","error_code":"forbidden","data":null},"key":"forbidden_role","summary":"forbidden_role","id":"paths/~1api~1salon~1admin/post/responses/403/content/application~1json/examples/forbidden_role"},"paths/~1api~1salon~1admin/post/responses/404/content/application~1json/examples/salon_not_found":{"value":{"success":false,"message":"Salon not found","error_code":"not_found","data":null},"key":"salon_not_found","summary":"salon_not_found","id":"paths/~1api~1salon~1admin/post/responses/404/content/application~1json/examples/salon_not_found"},"paths/~1api~1salon~1admin~1{salon_admin_id}/get/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Salon admin found successfully","error_code":null,"data":{"salon_admin":{"id":7,"salon_id":15,"user_id":21,"first_name":"Anna","last_name":"Adminova"}}},"key":"ok","summary":"ok","id":"paths/~1api~1salon~1admin~1{salon_admin_id}/get/responses/200/content/application~1json/examples/ok"},"paths/~1api~1salon~1admin~1{salon_admin_id}/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1salon~1admin~1{salon_admin_id}/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1salon~1admin~1{salon_admin_id}/get/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1salon~1admin~1{salon_admin_id}/get/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1salon~1admin~1{salon_admin_id}/get/responses/404/content/application~1json/examples/salon_admin_not_found":{"value":{"success":false,"message":"Salon admin not found","error_code":"not_found","data":null},"key":"salon_admin_not_found","summary":"salon_admin_not_found","id":"paths/~1api~1salon~1admin~1{salon_admin_id}/get/responses/404/content/application~1json/examples/salon_admin_not_found"},"paths/~1api~1salon~1admin~1{salon_admin_id}/patch/requestBody/content/application~1json/examples/full":{"value":{"first_name":"Nina","last_name":"Adminova"},"key":"full","summary":"full","id":"paths/~1api~1salon~1admin~1{salon_admin_id}/patch/requestBody/content/application~1json/examples/full"},"paths/~1api~1salon~1admin~1{salon_admin_id}/patch/requestBody/content/application~1json/examples/partial":{"value":{"first_name":"Nina"},"key":"partial","summary":"partial","id":"paths/~1api~1salon~1admin~1{salon_admin_id}/patch/requestBody/content/application~1json/examples/partial"},"paths/~1api~1salon~1admin~1{salon_admin_id}/patch/responses/200/content/application~1json/examples/changed":{"value":{"success":true,"message":"Salon admin updated successfully","error_code":null,"data":{"changed":true,"salon_admin":{"id":10,"salon_id":3,"user_id":30,"first_name":"Nina","last_name":"Adminova"}}},"key":"changed","summary":"changed","id":"paths/~1api~1salon~1admin~1{salon_admin_id}/patch/responses/200/content/application~1json/examples/changed"},"paths/~1api~1salon~1admin~1{salon_admin_id}/patch/responses/200/content/application~1json/examples/unchanged":{"value":{"success":true,"message":"No changes were made to the salon admin","error_code":null,"data":{"changed":false,"salon_admin":{"id":10,"salon_id":3,"user_id":30,"first_name":"Nina","last_name":"Adminova"}}},"key":"unchanged","summary":"unchanged","id":"paths/~1api~1salon~1admin~1{salon_admin_id}/patch/responses/200/content/application~1json/examples/unchanged"},"paths/~1api~1salon~1admin~1{salon_admin_id}/patch/responses/400/content/application~1json/examples/empty_body":{"value":{"success":false,"message":"At least one field must be filled correctly","error_code":"invalid_body","data":null},"key":"empty_body","summary":"empty_body","id":"paths/~1api~1salon~1admin~1{salon_admin_id}/patch/responses/400/content/application~1json/examples/empty_body"},"paths/~1api~1salon~1admin~1{salon_admin_id}/patch/responses/400/content/application~1json/examples/invalid_first_name":{"value":{"success":false,"message":"First name must not be blank and must not be longer than 100 characters","error_code":"invalid_body","data":null},"key":"invalid_first_name","summary":"invalid_first_name","id":"paths/~1api~1salon~1admin~1{salon_admin_id}/patch/responses/400/content/application~1json/examples/invalid_first_name"},"paths/~1api~1salon~1admin~1{salon_admin_id}/patch/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1salon~1admin~1{salon_admin_id}/patch/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1salon~1admin~1{salon_admin_id}/patch/responses/403/content/application~1json/examples/forbidden_role":{"value":{"success":false,"message":"Only salon owner or salon admin can update salon admin","error_code":"forbidden","data":null},"key":"forbidden_role","summary":"forbidden_role","id":"paths/~1api~1salon~1admin~1{salon_admin_id}/patch/responses/403/content/application~1json/examples/forbidden_role"},"paths/~1api~1salon~1admin~1{salon_admin_id}/patch/responses/404/content/application~1json/examples/salon_admin_not_found":{"value":{"success":false,"message":"Salon admin not found","error_code":"not_found","data":null},"key":"salon_admin_not_found","summary":"salon_admin_not_found","id":"paths/~1api~1salon~1admin~1{salon_admin_id}/patch/responses/404/content/application~1json/examples/salon_admin_not_found"},"paths/~1api~1salon~1admin~1{salon_admin_id}/delete/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Salon administrator account deleted successfully","error_code":null,"data":null},"key":"ok","summary":"ok","id":"paths/~1api~1salon~1admin~1{salon_admin_id}/delete/responses/200/content/application~1json/examples/ok"},"paths/~1api~1salon~1admin~1{salon_admin_id}/delete/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1salon~1admin~1{salon_admin_id}/delete/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1salon~1my~1permissions/get/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Salon member permissions retrieved successfully","codeError":null,"error_code":null,"data":{"user_id":9901002,"active_permissions":["RECORD_VIEW","CHAT_READ"],"groups":[]}},"key":"ok","summary":"ok","id":"paths/~1api~1salon~1my~1permissions/get/responses/200/content/application~1json/examples/ok"},"paths/~1api~1salon~1my~1permissions/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1salon~1my~1permissions/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1salon~1my~1permissions/get/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1salon~1my~1permissions/get/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1salon~1member~1{user_id}~1permissions/get/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Salon member permissions retrieved successfully","codeError":null,"error_code":null,"data":{"user_id":9901002,"active_permissions":["SALON_PAGE_VIEW","CHAT_WRITE"],"groups":[{"code":"SALON","title":"Салон","permissions":[{"code":"SALON_PAGE_VIEW","title":"Просмотр страницы","description":"Администратор сможет просматривать страницу салона и данные, доступные в управлении.","is_active":true},{"code":"SALON_PAGE_EDIT","title":"Редактирование страницы","description":"Администратор сможет изменять информацию на странице салона: описание, фото, контакты и настройки отображения.","is_active":false}]}]}},"key":"ok","summary":"ok","id":"paths/~1api~1salon~1member~1{user_id}~1permissions/get/responses/200/content/application~1json/examples/ok"},"paths/~1api~1salon~1member~1{user_id}~1permissions/get/responses/400/content/application~1json/examples/invalid_user_id":{"value":{"success":false,"message":"User ID must be greater than 0","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_user_id","summary":"invalid_user_id","id":"paths/~1api~1salon~1member~1{user_id}~1permissions/get/responses/400/content/application~1json/examples/invalid_user_id"},"paths/~1api~1salon~1member~1{user_id}~1permissions/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1salon~1member~1{user_id}~1permissions/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1salon~1member~1{user_id}~1permissions/get/responses/403/content/application~1json/examples/foreign_salon":{"value":{"success":false,"message":"You haven't permission to manage permissions for this salon member","codeError":"forbidden","error_code":"forbidden","data":null},"key":"foreign_salon","summary":"foreign_salon","id":"paths/~1api~1salon~1member~1{user_id}~1permissions/get/responses/403/content/application~1json/examples/foreign_salon"},"paths/~1api~1salon~1member~1{user_id}~1permissions/get/responses/404/content/application~1json/examples/salon_admin_not_found":{"value":{"success":false,"message":"Salon admin not found","codeError":"not_found","error_code":"not_found","data":null},"key":"salon_admin_not_found","summary":"salon_admin_not_found","id":"paths/~1api~1salon~1member~1{user_id}~1permissions/get/responses/404/content/application~1json/examples/salon_admin_not_found"},"paths/~1api~1salon~1member~1{user_id}~1permissions/patch/requestBody/content/application~1json/examples/enum_names":{"value":{"permissions":["SALON_PAGE_VIEW","CHAT_WRITE"]},"key":"enum_names","summary":"Рекомендуемый формат","id":"paths/~1api~1salon~1member~1{user_id}~1permissions/patch/requestBody/content/application~1json/examples/enum_names"},"paths/~1api~1salon~1member~1{user_id}~1permissions/patch/requestBody/content/application~1json/examples/clear":{"value":{"permissions":[]},"key":"clear","summary":"Очистить все права","id":"paths/~1api~1salon~1member~1{user_id}~1permissions/patch/requestBody/content/application~1json/examples/clear"},"paths/~1api~1salon~1member~1{user_id}~1permissions/patch/responses/200/content/application~1json/examples/updated":{"value":{"success":true,"message":"Salon member permissions updated successfully","codeError":null,"error_code":null,"data":{"user_id":9901002,"active_permissions":["SALON_PAGE_VIEW","CHAT_WRITE"],"groups":[{"code":"SALON","title":"Салон","permissions":[{"code":"SALON_PAGE_VIEW","title":"Просмотр страницы","description":"Администратор сможет просматривать страницу салона и данные, доступные в управлении.","is_active":true},{"code":"SALON_PAGE_EDIT","title":"Редактирование страницы","description":"Администратор сможет изменять информацию на странице салона: описание, фото, контакты и настройки отображения.","is_active":false}]}]}},"key":"updated","summary":"updated","id":"paths/~1api~1salon~1member~1{user_id}~1permissions/patch/responses/200/content/application~1json/examples/updated"},"paths/~1api~1salon~1member~1{user_id}~1permissions/patch/responses/400/content/application~1json/examples/invalid_user_id":{"value":{"success":false,"message":"User ID must be greater than 0","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_user_id","summary":"invalid_user_id","id":"paths/~1api~1salon~1member~1{user_id}~1permissions/patch/responses/400/content/application~1json/examples/invalid_user_id"},"paths/~1api~1salon~1member~1{user_id}~1permissions/patch/responses/400/content/application~1json/examples/permissions_null":{"value":{"success":false,"message":"Permissions cannot be null","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"permissions_null","summary":"permissions_null","id":"paths/~1api~1salon~1member~1{user_id}~1permissions/patch/responses/400/content/application~1json/examples/permissions_null"},"paths/~1api~1salon~1member~1{user_id}~1permissions/patch/responses/400/content/application~1json/examples/invalid_permission":{"value":{"success":false,"message":"Bad Request","error_code":"invalid_body","data":null},"key":"invalid_permission","summary":"invalid_permission","id":"paths/~1api~1salon~1member~1{user_id}~1permissions/patch/responses/400/content/application~1json/examples/invalid_permission"},"paths/~1api~1salon~1member~1{user_id}~1permissions/patch/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1salon~1member~1{user_id}~1permissions/patch/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1salon~1member~1{user_id}~1permissions/patch/responses/403/content/application~1json/examples/forbidden_role":{"value":{"success":false,"message":"Forbidden","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden_role","summary":"forbidden_role","id":"paths/~1api~1salon~1member~1{user_id}~1permissions/patch/responses/403/content/application~1json/examples/forbidden_role"},"paths/~1api~1salon~1member~1{user_id}~1permissions/patch/responses/403/content/application~1json/examples/foreign_salon":{"value":{"success":false,"message":"You haven't permission to manage permissions for this salon member","codeError":"forbidden","error_code":"forbidden","data":null},"key":"foreign_salon","summary":"foreign_salon","id":"paths/~1api~1salon~1member~1{user_id}~1permissions/patch/responses/403/content/application~1json/examples/foreign_salon"},"paths/~1api~1salon~1member~1{user_id}~1permissions/patch/responses/404/content/application~1json/examples/salon_admin_not_found":{"value":{"success":false,"message":"Salon admin not found","codeError":"not_found","error_code":"not_found","data":null},"key":"salon_admin_not_found","summary":"salon_admin_not_found","id":"paths/~1api~1salon~1member~1{user_id}~1permissions/patch/responses/404/content/application~1json/examples/salon_admin_not_found"},"paths/~1api~1salon~1invite/get/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Salon invite link created successfully","codeError":null,"error_code":null,"data":{"invite_link":"https://felmee.com/api/auth/phone/login?invite_code=KRHoJt65qCvqi-y9B5P2IidpE2tw2vxY"}},"key":"ok","summary":"ok","id":"paths/~1api~1salon~1invite/get/responses/200/content/application~1json/examples/ok"},"paths/~1api~1salon~1invite/get/responses/400/content/application~1json/examples/invalid_role":{"value":{"success":false,"message":"Role in salon must be MASTER or ADMIN","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_role","summary":"invalid_role","id":"paths/~1api~1salon~1invite/get/responses/400/content/application~1json/examples/invalid_role"},"paths/~1api~1salon~1invite/get/responses/400/content/application~1json/examples/invalid_salon_role_id":{"value":{"success":false,"message":"Salon role ID must be greater than 0","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_salon_role_id","summary":"invalid_salon_role_id","id":"paths/~1api~1salon~1invite/get/responses/400/content/application~1json/examples/invalid_salon_role_id"},"paths/~1api~1salon~1invite/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1salon~1invite/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1salon~1invite/get/responses/404/content/application~1json/examples/target_not_found":{"value":{"success":false,"message":"Salon invite target not found","codeError":"not_found","error_code":"not_found","data":null},"key":"target_not_found","summary":"target_not_found","id":"paths/~1api~1salon~1invite/get/responses/404/content/application~1json/examples/target_not_found"},"paths/~1api~1salon~1invite/get/responses/409/content/application~1json/examples/target_salon_not_found":{"value":{"success":false,"message":"Salon invite target salon not found","codeError":"conflict","error_code":"conflict","data":null},"key":"target_salon_not_found","summary":"target_salon_not_found","id":"paths/~1api~1salon~1invite/get/responses/409/content/application~1json/examples/target_salon_not_found"},"paths/~1api~1salon~1invite/get/responses/409/content/application~1json/examples/target_user_not_found":{"value":{"success":false,"message":"Salon invite target user not found","codeError":"conflict","error_code":"conflict","data":null},"key":"target_user_not_found","summary":"target_user_not_found","id":"paths/~1api~1salon~1invite/get/responses/409/content/application~1json/examples/target_user_not_found"},"paths/~1api~1salon~1invite/get/responses/409/content/application~1json/examples/target_already_registered":{"value":{"success":false,"message":"Salon invite target is already registered","codeError":"conflict","error_code":"conflict","data":null},"key":"target_already_registered","summary":"target_already_registered","id":"paths/~1api~1salon~1invite/get/responses/409/content/application~1json/examples/target_already_registered"},"paths/~1api~1salon~1master~1reasons~1deletion/get/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Salon master deletion reasons retrieved successfully","codeError":null,"error_code":null,"data":["Уволился","Случайно создан аккаунт"]},"id":"paths/~1api~1salon~1master~1reasons~1deletion/get/responses/200/content/application~1json/example"},"paths/~1api~1salon~1master~1reasons~1deletion/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1salon~1master~1reasons~1deletion/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1salon~1master~1reasons~1deletion/get/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1salon~1master~1reasons~1deletion/get/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1salon~1admin~1reasons~1deletion/get/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Salon administrator deletion reasons retrieved successfully","codeError":null,"error_code":null,"data":["Уволился","Случайно создан аккаунт"]},"id":"paths/~1api~1salon~1admin~1reasons~1deletion/get/responses/200/content/application~1json/example"},"paths/~1api~1salon~1admin~1reasons~1deletion/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1salon~1admin~1reasons~1deletion/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1salon~1admin~1reasons~1deletion/get/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1salon~1admin~1reasons~1deletion/get/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1salon~1master~1{salonMasterId}~1deletion/post/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Salon master deletion scheduled successfully","codeError":null,"error_code":null,"data":{"member_id":25,"user_id":117,"member_type":"MASTER","member_status":"PENDING_DELETE","reason":"Уволился","scheduled_at":"2026-09-16T12:00:00Z","deletion_at":"2026-09-23T12:00:00Z"}},"id":"paths/~1api~1salon~1master~1{salonMasterId}~1deletion/post/responses/200/content/application~1json/example"},"paths/~1api~1salon~1master~1{salonMasterId}~1deletion/post/responses/400/content/application~1json/examples/invalid_reason":{"value":{"success":false,"message":"Reason must not be blank","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_reason","summary":"Некорректная причина","id":"paths/~1api~1salon~1master~1{salonMasterId}~1deletion/post/responses/400/content/application~1json/examples/invalid_reason"},"paths/~1api~1salon~1master~1{salonMasterId}~1deletion/post/responses/400/content/application~1json/examples/invalid_json":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_json","summary":"Некорректное JSON-тело","id":"paths/~1api~1salon~1master~1{salonMasterId}~1deletion/post/responses/400/content/application~1json/examples/invalid_json"},"paths/~1api~1salon~1master~1{salonMasterId}~1deletion/post/responses/401/content/application~1json/example":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"id":"paths/~1api~1salon~1master~1{salonMasterId}~1deletion/post/responses/401/content/application~1json/example"},"paths/~1api~1salon~1master~1{salonMasterId}~1deletion/post/responses/403/content/application~1json/examples/permission_denied":{"value":{"success":false,"message":"Salon permission denied","codeError":"salon_permission_denied","error_code":"salon_permission_denied","data":null},"key":"permission_denied","summary":"Нет права STAFF_DELETE","id":"paths/~1api~1salon~1master~1{salonMasterId}~1deletion/post/responses/403/content/application~1json/examples/permission_denied"},"paths/~1api~1salon~1master~1{salonMasterId}~1deletion/post/responses/403/content/application~1json/examples/another_salon":{"value":{"success":false,"message":"Salon member belongs to another salon","codeError":"forbidden","error_code":"forbidden","data":null},"key":"another_salon","summary":"Сотрудник другого салона","id":"paths/~1api~1salon~1master~1{salonMasterId}~1deletion/post/responses/403/content/application~1json/examples/another_salon"},"paths/~1api~1salon~1master~1{salonMasterId}~1deletion/post/responses/404/content/application~1json/example":{"value":{"success":false,"message":"Salon master not found","codeError":"not_found","error_code":"not_found","data":null},"id":"paths/~1api~1salon~1master~1{salonMasterId}~1deletion/post/responses/404/content/application~1json/example"},"paths/~1api~1salon~1master~1{salonMasterId}~1deletion/post/responses/409/content/application~1json/examples/already_scheduled":{"value":{"success":false,"message":"Salon member deletion is already scheduled","codeError":"member_deletion_already_scheduled","error_code":"member_deletion_already_scheduled","data":null},"key":"already_scheduled","summary":"Удаление уже запланировано","id":"paths/~1api~1salon~1master~1{salonMasterId}~1deletion/post/responses/409/content/application~1json/examples/already_scheduled"},"paths/~1api~1salon~1master~1{salonMasterId}~1deletion/post/responses/409/content/application~1json/examples/booked_records":{"value":{"success":false,"message":"Master account cannot be deleted while it has booked records","codeError":"member_deletion_blocked","error_code":"member_deletion_blocked","data":null},"key":"booked_records","summary":"Есть BOOKED-записи","id":"paths/~1api~1salon~1master~1{salonMasterId}~1deletion/post/responses/409/content/application~1json/examples/booked_records"},"paths/~1api~1salon~1master~1{salonMasterId}~1deletion/post/responses/409/content/application~1json/examples/concurrent_modification":{"value":{"success":false,"message":"Object was modified by another thread","codeError":"object_modified_by_another_thread","error_code":"object_modified_by_another_thread","data":null},"key":"concurrent_modification","summary":"Конкурентное изменение","id":"paths/~1api~1salon~1master~1{salonMasterId}~1deletion/post/responses/409/content/application~1json/examples/concurrent_modification"},"paths/~1api~1salon~1admin~1{salonAdminId}~1deletion/post/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Salon administrator deletion scheduled successfully","codeError":null,"error_code":null,"data":{"member_id":31,"user_id":118,"member_type":"ADMIN","member_status":"PENDING_DELETE","reason":"Уволился","scheduled_at":"2026-09-16T12:00:00Z","deletion_at":"2026-09-23T12:00:00Z"}},"id":"paths/~1api~1salon~1admin~1{salonAdminId}~1deletion/post/responses/200/content/application~1json/example"},"paths/~1api~1salon~1admin~1{salonAdminId}~1deletion/post/responses/400/content/application~1json/examples/invalid_reason":{"value":{"success":false,"message":"Reason must not be blank","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_reason","summary":"Некорректная причина","id":"paths/~1api~1salon~1admin~1{salonAdminId}~1deletion/post/responses/400/content/application~1json/examples/invalid_reason"},"paths/~1api~1salon~1admin~1{salonAdminId}~1deletion/post/responses/400/content/application~1json/examples/invalid_json":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_json","summary":"Некорректное JSON-тело","id":"paths/~1api~1salon~1admin~1{salonAdminId}~1deletion/post/responses/400/content/application~1json/examples/invalid_json"},"paths/~1api~1salon~1admin~1{salonAdminId}~1deletion/post/responses/401/content/application~1json/example":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"id":"paths/~1api~1salon~1admin~1{salonAdminId}~1deletion/post/responses/401/content/application~1json/example"},"paths/~1api~1salon~1admin~1{salonAdminId}~1deletion/post/responses/403/content/application~1json/examples/permission_denied":{"value":{"success":false,"message":"Salon permission denied","codeError":"salon_permission_denied","error_code":"salon_permission_denied","data":null},"key":"permission_denied","summary":"Удалять администратора может только владелец","id":"paths/~1api~1salon~1admin~1{salonAdminId}~1deletion/post/responses/403/content/application~1json/examples/permission_denied"},"paths/~1api~1salon~1admin~1{salonAdminId}~1deletion/post/responses/403/content/application~1json/examples/another_salon":{"value":{"success":false,"message":"Salon member belongs to another salon","codeError":"forbidden","error_code":"forbidden","data":null},"key":"another_salon","summary":"Администратор другого салона","id":"paths/~1api~1salon~1admin~1{salonAdminId}~1deletion/post/responses/403/content/application~1json/examples/another_salon"},"paths/~1api~1salon~1admin~1{salonAdminId}~1deletion/post/responses/404/content/application~1json/example":{"value":{"success":false,"message":"Salon administrator not found","codeError":"not_found","error_code":"not_found","data":null},"id":"paths/~1api~1salon~1admin~1{salonAdminId}~1deletion/post/responses/404/content/application~1json/example"},"paths/~1api~1salon~1admin~1{salonAdminId}~1deletion/post/responses/409/content/application~1json/examples/already_scheduled":{"value":{"success":false,"message":"Salon member deletion is already scheduled","codeError":"member_deletion_already_scheduled","error_code":"member_deletion_already_scheduled","data":null},"key":"already_scheduled","summary":"Удаление уже запланировано","id":"paths/~1api~1salon~1admin~1{salonAdminId}~1deletion/post/responses/409/content/application~1json/examples/already_scheduled"},"paths/~1api~1salon~1admin~1{salonAdminId}~1deletion/post/responses/409/content/application~1json/examples/concurrent_modification":{"value":{"success":false,"message":"Object was modified by another thread","codeError":"object_modified_by_another_thread","error_code":"object_modified_by_another_thread","data":null},"key":"concurrent_modification","summary":"Конкурентное изменение","id":"paths/~1api~1salon~1admin~1{salonAdminId}~1deletion/post/responses/409/content/application~1json/examples/concurrent_modification"},"paths/~1api~1salon~1member~1reasons~1deletion/get/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Причины удаления сотрудника салона успешно получены","codeError":null,"error_code":null,"data":["Уволился","Случайно создан аккаунт"]},"key":"ok","summary":"ok","id":"paths/~1api~1salon~1member~1reasons~1deletion/get/responses/200/content/application~1json/examples/ok"},"paths/~1api~1salon~1member~1reasons~1booking-closure/get/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Причины закрытия записи сотрудника салона успешно получены","codeError":null,"error_code":null,"data":["Отпуск","Больничный","Декрет","Обучение/курсы","Личные обстоятельства"]},"key":"ok","summary":"ok","id":"paths/~1api~1salon~1member~1reasons~1booking-closure/get/responses/200/content/application~1json/examples/ok"},"paths/~1api~1calendar~1master~1{id}~1work-time/get/responses/200/content/application~1json/examples/working":{"value":{"success":true,"message":"Work time retrieved successfully","codeError":null,"error_code":null,"data":{"work_time":{"is_working":true,"start_time":"10:00","end_time":"20:00"}}},"key":"working","summary":"working","id":"paths/~1api~1calendar~1master~1{id}~1work-time/get/responses/200/content/application~1json/examples/working"},"paths/~1api~1calendar~1master~1{id}~1work-time/get/responses/200/content/application~1json/examples/not_working":{"value":{"success":true,"message":"Work time retrieved successfully","codeError":null,"error_code":null,"data":{"work_time":{"is_working":false,"start_time":null,"end_time":null}}},"key":"not_working","summary":"not_working","id":"paths/~1api~1calendar~1master~1{id}~1work-time/get/responses/200/content/application~1json/examples/not_working"},"paths/~1api~1calendar~1master~1{id}~1work-time/get/responses/400/content/application~1json/examples/past_date":{"value":{"success":false,"message":"Calendar date must not be in the past","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"past_date","summary":"past_date","id":"paths/~1api~1calendar~1master~1{id}~1work-time/get/responses/400/content/application~1json/examples/past_date"},"paths/~1api~1calendar~1master~1{id}~1work-time/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1calendar~1master~1{id}~1work-time/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1calendar~1master~1{id}~1work-time/get/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Master not found","codeError":"not_found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1calendar~1master~1{id}~1work-time/get/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1calendar/post/requestBody/content/application~1json/examples/daySchedule":{"value":{"date":"2026-04-01","time_interval":{"start_time":"09:00","end_time":"18:00"}},"key":"daySchedule","summary":"daySchedule","id":"paths/~1api~1calendar/post/requestBody/content/application~1json/examples/daySchedule"},"paths/~1api~1calendar/post/requestBody/content/application~1json/examples/emptyDay":{"value":{"date":"2026-04-01","time_interval":null},"key":"emptyDay","summary":"emptyDay","id":"paths/~1api~1calendar/post/requestBody/content/application~1json/examples/emptyDay"},"paths/~1api~1calendar/post/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1calendar/post/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1calendar/post/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1calendar/post/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1calendar/post/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1calendar/post/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1calendar/post/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1calendar/post/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1calendar/post/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1calendar/post/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1calendar~1{date}/get/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Successfully retrieved calendar","codeError":null,"error_code":null,"data":{"calendar":{"date":"2026-04-01","time_interval":{"start_time":"09:00","end_time":"18:00"}}}},"key":"ok","summary":"ok","id":"paths/~1api~1calendar~1{date}/get/responses/200/content/application~1json/examples/ok"},"paths/~1api~1calendar~1{date}/get/responses/400/content/application~1json/examples/past_date":{"value":{"success":false,"message":"Calendar date must not be in the past","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"past_date","summary":"past_date","id":"paths/~1api~1calendar~1{date}/get/responses/400/content/application~1json/examples/past_date"},"paths/~1api~1calendar~1{date}/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1calendar~1{date}/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}/post/requestBody/content/application~1json/examples/work_day":{"value":{"date":"2026-06-19","time_interval":{"start_time":"09:00","end_time":"18:00"}},"key":"work_day","summary":"work_day","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}/post/requestBody/content/application~1json/examples/work_day"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}/post/requestBody/content/application~1json/examples/day_off":{"value":{"date":"2026-06-19","time_interval":null},"key":"day_off","summary":"day_off","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}/post/requestBody/content/application~1json/examples/day_off"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}/post/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Calendar updated successfully","codeError":null,"error_code":null,"data":{"calendar":{"date":"2026-06-10","time_interval":{"start_time":"10:00","end_time":"19:00"}}}},"id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}/post/responses/200/content/application~1json/example"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}/post/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}/post/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}/post/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}/post/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}/post/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}/post/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}/post/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}/post/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}/post/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}/post/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}/post/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Resource not found","codeError":"not_found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}/post/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}/post/responses/409/content/application~1json/examples/conflict":{"value":{"success":false,"message":"Request conflicts with the current resource state","codeError":"conflict","error_code":"conflict","data":null},"key":"conflict","summary":"conflict","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}/post/responses/409/content/application~1json/examples/conflict"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1{date}/get/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Successfully retrieved calendar","codeError":null,"error_code":null,"data":{"calendar":{"date":"2026-06-10","time_interval":{"start_time":"10:00","end_time":"19:00"}}}},"id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1{date}/get/responses/200/content/application~1json/example"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1{date}/get/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1{date}/get/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1{date}/get/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1{date}/get/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1{date}/get/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1{date}/get/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1{date}/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1{date}/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1{date}/get/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1{date}/get/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1{date}/get/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Resource not found","codeError":"not_found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1{date}/get/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1calendar~1work-schedule/post/requestBody/content/application~1json/examples/workSchedule":{"value":{"year":2026,"month":"JUNE","start_day":1,"end_day":15,"work_time_interval":{"start_time":"09:00","end_time":"18:00"},"break_intervals":[{"start_time":"12:00","end_time":"12:30"}],"days_off":[6,7,13,14]},"key":"workSchedule","summary":"workSchedule","id":"paths/~1api~1calendar~1work-schedule/post/requestBody/content/application~1json/examples/workSchedule"},"paths/~1api~1calendar~1work-schedule/post/responses/201/content/application~1json/examples/created":{"value":{"success":true,"message":"Work schedule created successfully","codeError":null,"error_code":null,"data":{"work_schedules":[{"id":10,"year":2026,"month":"JUNE","start_day":1,"end_day":15,"work_time_intervals":[{"start_time":"09:00","end_time":"18:00"}],"break_intervals":[{"start_time":"12:00","end_time":"12:30"}],"days_off":[6,7,13,14],"breaks_provided":true,"created_at":"2026-05-27T09:30:00Z"}]}},"key":"created","summary":"created","id":"paths/~1api~1calendar~1work-schedule/post/responses/201/content/application~1json/examples/created"},"paths/~1api~1calendar~1work-schedule/post/responses/400/content/application~1json/examples/missing_year":{"value":{"success":false,"message":"Year is required","error_code":"invalid_body","data":null},"key":"missing_year","summary":"missing_year","id":"paths/~1api~1calendar~1work-schedule/post/responses/400/content/application~1json/examples/missing_year"},"paths/~1api~1calendar~1work-schedule/post/responses/400/content/application~1json/examples/invalid_days":{"value":{"success":false,"message":"Start day must be less than end day","error_code":"invalid_body","data":null},"key":"invalid_days","summary":"invalid_days","id":"paths/~1api~1calendar~1work-schedule/post/responses/400/content/application~1json/examples/invalid_days"},"paths/~1api~1calendar~1work-schedule/post/responses/400/content/application~1json/examples/invalid_month_day":{"value":{"success":false,"message":"End day must be validate for selected month","error_code":"invalid_body","data":null},"key":"invalid_month_day","summary":"invalid_month_day","id":"paths/~1api~1calendar~1work-schedule/post/responses/400/content/application~1json/examples/invalid_month_day"},"paths/~1api~1calendar~1work-schedule/post/responses/400/content/application~1json/examples/day_off_outside_range":{"value":{"success":false,"message":"days_off must contain only days inside the selected range","error_code":"invalid_body","data":null},"key":"day_off_outside_range","summary":"day_off_outside_range","id":"paths/~1api~1calendar~1work-schedule/post/responses/400/content/application~1json/examples/day_off_outside_range"},"paths/~1api~1calendar~1work-schedule/post/responses/400/content/application~1json/examples/duplicate_days_off":{"value":{"success":false,"message":"days_off must not contain duplicates","error_code":"invalid_body","data":null},"key":"duplicate_days_off","summary":"duplicate_days_off","id":"paths/~1api~1calendar~1work-schedule/post/responses/400/content/application~1json/examples/duplicate_days_off"},"paths/~1api~1calendar~1work-schedule/post/responses/400/content/application~1json/examples/too_short_interval":{"value":{"success":false,"message":"Interval duration must be at least 30 minutes","error_code":"invalid_body","data":null},"key":"too_short_interval","summary":"too_short_interval","id":"paths/~1api~1calendar~1work-schedule/post/responses/400/content/application~1json/examples/too_short_interval"},"paths/~1api~1calendar~1work-schedule/post/responses/400/content/application~1json/examples/overlapping_breaks":{"value":{"success":false,"message":"Break intervals must not overlap","error_code":"invalid_body","data":null},"key":"overlapping_breaks","summary":"overlapping_breaks","id":"paths/~1api~1calendar~1work-schedule/post/responses/400/content/application~1json/examples/overlapping_breaks"},"paths/~1api~1calendar~1work-schedule/post/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1calendar~1work-schedule/post/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1calendar~1work-schedule/post/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Only master or salon can setup work schedule","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1calendar~1work-schedule/post/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1calendar~1work-schedule/post/responses/409/content/application~1json/examples/schedule_conflict":{"value":{"success":false,"message":"Cannot update calendar: existing bookings are outside the new working interval","error_code":"conflict","data":null},"key":"schedule_conflict","summary":"schedule_conflict","id":"paths/~1api~1calendar~1work-schedule/post/responses/409/content/application~1json/examples/schedule_conflict"},"paths/~1api~1calendar~1work-schedule/post/responses/409/content/application~1json/examples/break_conflict":{"value":{"success":false,"message":"Cannot update breaks: existing bookings intersect the new break intervals","error_code":"conflict","data":null},"key":"break_conflict","summary":"break_conflict","id":"paths/~1api~1calendar~1work-schedule/post/responses/409/content/application~1json/examples/break_conflict"},"paths/~1api~1calendar~1work-schedule/post/responses/409/content/application~1json/examples/day_off_has_booking":{"value":{"success":false,"message":"Cannot update calendar: existing bookings are outside the new working interval","error_code":"conflict","data":null},"key":"day_off_has_booking","summary":"day_off_has_booking","id":"paths/~1api~1calendar~1work-schedule/post/responses/409/content/application~1json/examples/day_off_has_booking"},"paths/~1api~1calendar~1work-schedule/post/responses/409/content/application~1json/examples/duplicate_month_template":{"value":{"success":false,"message":"Work schedule template already exists for this user, year and month","error_code":"conflict","data":null},"key":"duplicate_month_template","summary":"duplicate_month_template","id":"paths/~1api~1calendar~1work-schedule/post/responses/409/content/application~1json/examples/duplicate_month_template"},"paths/~1api~1calendar~1work-schedule/get/responses/200/content/application~1json/examples/by_id":{"value":{"success":true,"message":"Work schedule retrieved successfully","codeError":null,"error_code":null,"data":{"work_schedule":{"id":10,"year":2026,"month":"JUNE","start_day":1,"end_day":15,"work_time_intervals":[{"start_time":"09:00","end_time":"18:00"}],"break_intervals":[{"start_time":"12:00","end_time":"12:30"}]}}},"key":"by_id","summary":"by_id","id":"paths/~1api~1calendar~1work-schedule/get/responses/200/content/application~1json/examples/by_id"},"paths/~1api~1calendar~1work-schedule/get/responses/200/content/application~1json/examples/by_user_and_year":{"value":{"success":true,"message":"Work schedules retrieved successfully","codeError":null,"error_code":null,"data":{"work_schedules":[{"id":10,"year":2026,"month":"JUNE","start_day":1,"end_day":15,"work_time_intervals":[{"start_time":"09:00","end_time":"18:00"}],"break_intervals":[{"start_time":"12:00","end_time":"12:30"}]}]}},"key":"by_user_and_year","summary":"by_user_and_year","id":"paths/~1api~1calendar~1work-schedule/get/responses/200/content/application~1json/examples/by_user_and_year"},"paths/~1api~1calendar~1work-schedule/get/responses/400/content/application~1json/examples/invalid_id":{"value":{"success":false,"message":"Work schedule id must be greater than 0","error_code":"invalid_body","data":null},"key":"invalid_id","summary":"invalid_id","id":"paths/~1api~1calendar~1work-schedule/get/responses/400/content/application~1json/examples/invalid_id"},"paths/~1api~1calendar~1work-schedule/get/responses/400/content/application~1json/examples/invalid_user_id":{"value":{"success":false,"message":"User id must be greater than 0","error_code":"invalid_body","data":null},"key":"invalid_user_id","summary":"invalid_user_id","id":"paths/~1api~1calendar~1work-schedule/get/responses/400/content/application~1json/examples/invalid_user_id"},"paths/~1api~1calendar~1work-schedule/get/responses/400/content/application~1json/examples/invalid_year":{"value":{"success":false,"message":"Year must not be in the past and must be less than current year plus 5","error_code":"invalid_body","data":null},"key":"invalid_year","summary":"invalid_year","id":"paths/~1api~1calendar~1work-schedule/get/responses/400/content/application~1json/examples/invalid_year"},"paths/~1api~1calendar~1work-schedule/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1calendar~1work-schedule/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1calendar~1work-schedule/get/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1calendar~1work-schedule/get/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1calendar~1work-schedule/get/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Work schedule not found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1calendar~1work-schedule/get/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1calendar~1work-schedule~1{template_id}/delete/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Work schedule template deleted successfully","codeError":null,"error_code":null,"data":null},"id":"paths/~1api~1calendar~1work-schedule~1{template_id}/delete/responses/200/content/application~1json/example"},"paths/~1api~1calendar~1work-schedule~1{template_id}/delete/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1calendar~1work-schedule~1{template_id}/delete/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1calendar~1work-schedule~1{template_id}/delete/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1calendar~1work-schedule~1{template_id}/delete/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1calendar~1work-schedule~1{template_id}/delete/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1calendar~1work-schedule~1{template_id}/delete/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1calendar~1work-schedule~1{template_id}/delete/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1calendar~1work-schedule~1{template_id}/delete/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1calendar~1work-schedule~1{template_id}/delete/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1calendar~1work-schedule~1{template_id}/delete/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1calendar~1work-schedule~1{template_id}/delete/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Resource not found","codeError":"not_found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1calendar~1work-schedule~1{template_id}/delete/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/post/requestBody/content/application~1json/examples/monthlyTemplate":{"value":{"year":2026,"month":"JUNE","start_day":1,"end_day":30,"work_time_interval":{"start_time":"10:00","end_time":"19:00"},"break_intervals":[{"start_time":"13:00","end_time":"14:00"}],"days_off":[6,7,13,14]},"key":"monthlyTemplate","summary":"monthlyTemplate","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/post/requestBody/content/application~1json/examples/monthlyTemplate"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/post/responses/201/content/application~1json/example":{"value":{"success":true,"message":"Work schedule created successfully","codeError":null,"error_code":null,"data":{"work_schedules":[{"id":10,"year":2026,"month":"JUNE","start_day":1,"end_day":30,"work_time_intervals":[{"start_time":"10:00","end_time":"19:00"}],"break_intervals":[{"start_time":"13:00","end_time":"14:00"}],"days_off":[6,7,13,14],"breaks_provided":true,"created_at":"2026-05-27T09:30:00Z"}]}},"id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/post/responses/201/content/application~1json/example"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/post/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/post/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/post/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/post/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/post/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/post/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/post/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/post/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/post/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/post/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/post/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Resource not found","codeError":"not_found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/post/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/post/responses/409/content/application~1json/examples/conflict":{"value":{"success":false,"message":"Request conflicts with the current resource state","codeError":"conflict","error_code":"conflict","data":null},"key":"conflict","summary":"conflict","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/post/responses/409/content/application~1json/examples/conflict"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/get/responses/200/content/application~1json/examples/by_id":{"value":{"success":true,"message":"Work schedule retrieved successfully","codeError":null,"error_code":null,"data":{"work_schedule":{"id":10,"year":2026,"month":"JUNE","start_day":1,"end_day":30,"work_time_intervals":[{"start_time":"10:00","end_time":"19:00"}],"break_intervals":[{"start_time":"13:00","end_time":"14:00"}],"days_off":[6,7,13,14],"breaks_provided":true,"created_at":"2026-05-27T09:30:00Z"}}},"key":"by_id","summary":"by_id","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/get/responses/200/content/application~1json/examples/by_id"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/get/responses/200/content/application~1json/examples/by_year":{"value":{"success":true,"message":"Work schedules retrieved successfully","codeError":null,"error_code":null,"data":{"work_schedules":[{"id":10,"year":2026,"month":"JUNE","start_day":1,"end_day":30,"work_time_intervals":[{"start_time":"10:00","end_time":"19:00"}],"break_intervals":[{"start_time":"13:00","end_time":"14:00"}],"days_off":[6,7,13,14],"breaks_provided":true,"created_at":"2026-05-27T09:30:00Z"}]}},"key":"by_year","summary":"by_year","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/get/responses/200/content/application~1json/examples/by_year"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/get/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/get/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/get/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/get/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/get/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/get/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/get/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/get/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/get/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Resource not found","codeError":"not_found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule/get/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule~1{template_id}/delete/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Work schedule template deleted successfully","codeError":null,"error_code":null,"data":null},"id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule~1{template_id}/delete/responses/200/content/application~1json/example"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule~1{template_id}/delete/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule~1{template_id}/delete/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule~1{template_id}/delete/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule~1{template_id}/delete/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule~1{template_id}/delete/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule~1{template_id}/delete/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule~1{template_id}/delete/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule~1{template_id}/delete/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule~1{template_id}/delete/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule~1{template_id}/delete/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule~1{template_id}/delete/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Resource not found","codeError":"not_found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1work-schedule~1{template_id}/delete/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break/post/requestBody/content/application~1json/examples/breaks":{"value":{"date":"2026-06-19","intervals":[{"start_time":"12:00","end_time":"12:30"}]},"key":"breaks","summary":"breaks","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break/post/requestBody/content/application~1json/examples/breaks"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break/post/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Breaks updated successfully","codeError":null,"error_code":null,"data":{"breaks":{"date":"2026-06-10","intervals":[{"start_time":"13:00","end_time":"14:00"}]}}},"id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break/post/responses/200/content/application~1json/example"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break/post/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break/post/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break/post/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break/post/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break/post/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break/post/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break/post/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break/post/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break/post/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break/post/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break/post/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Resource not found","codeError":"not_found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break/post/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break/post/responses/409/content/application~1json/examples/conflict":{"value":{"success":false,"message":"Request conflicts with the current resource state","codeError":"conflict","error_code":"conflict","data":null},"key":"conflict","summary":"conflict","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break/post/responses/409/content/application~1json/examples/conflict"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break~1{date}/get/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Breaks retrieved successfully","codeError":null,"error_code":null,"data":{"breaks":{"date":"2026-06-10","intervals":[{"start_time":"13:00","end_time":"14:00"}]}}},"id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break~1{date}/get/responses/200/content/application~1json/example"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break~1{date}/get/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break~1{date}/get/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break~1{date}/get/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break~1{date}/get/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break~1{date}/get/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break~1{date}/get/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break~1{date}/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break~1{date}/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break~1{date}/get/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break~1{date}/get/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break~1{date}/get/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Resource not found","codeError":"not_found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break~1{date}/get/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1calendar~1break/post/requestBody/content/application~1json/examples/saveBreaks":{"value":{"date":"2026-04-01","intervals":[{"start_time":"14:00","end_time":"15:00"},{"start_time":"10:00","end_time":"11:00"}]},"key":"saveBreaks","summary":"saveBreaks","id":"paths/~1api~1calendar~1break/post/requestBody/content/application~1json/examples/saveBreaks"},"paths/~1api~1calendar~1break/post/requestBody/content/application~1json/examples/clearBreaks":{"value":{"date":"2026-04-01","intervals":[]},"key":"clearBreaks","summary":"clearBreaks","id":"paths/~1api~1calendar~1break/post/requestBody/content/application~1json/examples/clearBreaks"},"paths/~1api~1calendar~1break/post/responses/200/content/application~1json/examples/saved":{"value":{"success":true,"message":"Breaks updated successfully","codeError":null,"error_code":null,"data":{"breaks":{"date":"2026-04-01","intervals":[{"start_time":"10:00","end_time":"11:00"},{"start_time":"14:00","end_time":"15:00"}]}}},"key":"saved","summary":"saved","id":"paths/~1api~1calendar~1break/post/responses/200/content/application~1json/examples/saved"},"paths/~1api~1calendar~1break/post/responses/400/content/application~1json/examples/missing_date":{"value":{"success":false,"message":"Break date is required","error_code":"invalid_body","data":null},"key":"missing_date","summary":"missing_date","id":"paths/~1api~1calendar~1break/post/responses/400/content/application~1json/examples/missing_date"},"paths/~1api~1calendar~1break/post/responses/400/content/application~1json/examples/missing_intervals":{"value":{"success":false,"message":"Break intervals are required","error_code":"invalid_body","data":null},"key":"missing_intervals","summary":"missing_intervals","id":"paths/~1api~1calendar~1break/post/responses/400/content/application~1json/examples/missing_intervals"},"paths/~1api~1calendar~1break/post/responses/400/content/application~1json/examples/null_interval":{"value":{"success":false,"message":"Break interval is required","error_code":"invalid_body","data":null},"key":"null_interval","summary":"null_interval","id":"paths/~1api~1calendar~1break/post/responses/400/content/application~1json/examples/null_interval"},"paths/~1api~1calendar~1break/post/responses/400/content/application~1json/examples/missing_start_time":{"value":{"success":false,"message":"Interval startTime is required","error_code":"invalid_body","data":null},"key":"missing_start_time","summary":"missing_start_time","id":"paths/~1api~1calendar~1break/post/responses/400/content/application~1json/examples/missing_start_time"},"paths/~1api~1calendar~1break/post/responses/400/content/application~1json/examples/missing_end_time":{"value":{"success":false,"message":"Interval endTime is required","error_code":"invalid_body","data":null},"key":"missing_end_time","summary":"missing_end_time","id":"paths/~1api~1calendar~1break/post/responses/400/content/application~1json/examples/missing_end_time"},"paths/~1api~1calendar~1break/post/responses/400/content/application~1json/examples/invalid_interval_order":{"value":{"success":false,"message":"Interval endTime must be after startTime within one day","error_code":"invalid_body","data":null},"key":"invalid_interval_order","summary":"invalid_interval_order","id":"paths/~1api~1calendar~1break/post/responses/400/content/application~1json/examples/invalid_interval_order"},"paths/~1api~1calendar~1break/post/responses/400/content/application~1json/examples/too_short_interval":{"value":{"success":false,"message":"Break interval duration must be at least 15 minutes","error_code":"invalid_body","data":null},"key":"too_short_interval","summary":"too_short_interval","id":"paths/~1api~1calendar~1break/post/responses/400/content/application~1json/examples/too_short_interval"},"paths/~1api~1calendar~1break/post/responses/400/content/application~1json/examples/overlapping_intervals":{"value":{"success":false,"message":"Break intervals must not overlap","error_code":"invalid_body","data":null},"key":"overlapping_intervals","summary":"overlapping_intervals","id":"paths/~1api~1calendar~1break/post/responses/400/content/application~1json/examples/overlapping_intervals"},"paths/~1api~1calendar~1break/post/responses/400/content/application~1json/examples/past_date":{"value":{"success":false,"message":"Break date must not be in the past","error_code":"invalid_body","data":null},"key":"past_date","summary":"past_date","id":"paths/~1api~1calendar~1break/post/responses/400/content/application~1json/examples/past_date"},"paths/~1api~1calendar~1break/post/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1calendar~1break/post/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1calendar~1break/post/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Only master or salon can set breaks","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1calendar~1break/post/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1calendar~1break/post/responses/409/content/application~1json/examples/break_conflict":{"value":{"success":false,"message":"Cannot update breaks: existing bookings intersect the new break intervals","error_code":"conflict","data":null},"key":"break_conflict","summary":"break_conflict","id":"paths/~1api~1calendar~1break/post/responses/409/content/application~1json/examples/break_conflict"},"paths/~1api~1calendar~1break~1{date}/get/responses/200/content/application~1json/examples/with_breaks":{"value":{"success":true,"message":"Breaks retrieved successfully","codeError":null,"error_code":null,"data":{"breaks":{"date":"2026-04-01","intervals":[{"startTime":"09:00","endTime":"10:00"},{"startTime":"12:00","endTime":"13:00"}]}}},"key":"with_breaks","summary":"with_breaks","id":"paths/~1api~1calendar~1break~1{date}/get/responses/200/content/application~1json/examples/with_breaks"},"paths/~1api~1calendar~1break~1{date}/get/responses/200/content/application~1json/examples/empty":{"value":{"success":true,"message":"Breaks retrieved successfully","codeError":null,"error_code":null,"data":{"breaks":{"date":"2026-04-01","intervals":[]}}},"key":"empty","summary":"empty","id":"paths/~1api~1calendar~1break~1{date}/get/responses/200/content/application~1json/examples/empty"},"paths/~1api~1calendar~1break~1{date}/get/responses/400/content/application~1json/examples/past_date":{"value":{"success":false,"message":"Break date must not be in the past","error_code":"invalid_body","data":null},"key":"past_date","summary":"past_date","id":"paths/~1api~1calendar~1break~1{date}/get/responses/400/content/application~1json/examples/past_date"},"paths/~1api~1calendar~1break~1{date}/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1calendar~1break~1{date}/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/get/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Break after record retrieved successfully","codeError":null,"error_code":null,"data":{"break_after_service_min":15}},"id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/get/responses/200/content/application~1json/example"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/get/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/get/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/get/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Resource not found","codeError":"not_found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/get/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/post/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Break after record updated successfully","codeError":null,"error_code":null,"data":{"break_after_service_min":15}},"id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/post/responses/200/content/application~1json/example"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/post/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/post/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/post/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/post/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/post/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/post/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/post/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/post/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/post/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/post/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/post/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Resource not found","codeError":"not_found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1break-after-record/post/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/get/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Min booking lead time retrieved successfully","codeError":null,"error_code":null,"data":{"min_booking_lead_time_minutes":60}},"id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/get/responses/200/content/application~1json/example"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/get/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/get/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/get/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Resource not found","codeError":"not_found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/get/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/post/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Min booking lead time updated successfully","codeError":null,"error_code":null,"data":{"min_booking_lead_time_minutes":60}},"id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/post/responses/200/content/application~1json/example"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/post/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/post/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/post/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/post/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/post/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/post/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/post/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/post/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/post/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/post/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/post/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Resource not found","codeError":"not_found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1min-booking-lead-time/post/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1calendar~1min-booking-lead-time/get/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Min booking lead time retrieved successfully","codeError":null,"error_code":null,"data":{"min_booking_lead_time_minutes":60}},"key":"ok","summary":"ok","id":"paths/~1api~1calendar~1min-booking-lead-time/get/responses/200/content/application~1json/examples/ok"},"paths/~1api~1calendar~1min-booking-lead-time/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1calendar~1min-booking-lead-time/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1calendar~1min-booking-lead-time/get/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Only master can get min booking lead time","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1calendar~1min-booking-lead-time/get/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1calendar~1min-booking-lead-time/post/requestBody/content/application~1json/examples/default":{"value":{"min_booking_lead_time_minutes":60},"key":"default","summary":"default","id":"paths/~1api~1calendar~1min-booking-lead-time/post/requestBody/content/application~1json/examples/default"},"paths/~1api~1calendar~1min-booking-lead-time/post/responses/200/content/application~1json/examples/updated":{"value":{"success":true,"message":"Min booking lead time updated successfully","codeError":null,"error_code":null,"data":{"min_booking_lead_time_minutes":60}},"key":"updated","summary":"updated","id":"paths/~1api~1calendar~1min-booking-lead-time/post/responses/200/content/application~1json/examples/updated"},"paths/~1api~1calendar~1min-booking-lead-time/post/responses/400/content/application~1json/examples/required":{"value":{"success":false,"message":"Min booking lead time is required","error_code":"invalid_body","data":null},"key":"required","summary":"required","id":"paths/~1api~1calendar~1min-booking-lead-time/post/responses/400/content/application~1json/examples/required"},"paths/~1api~1calendar~1min-booking-lead-time/post/responses/400/content/application~1json/examples/min_value":{"value":{"success":false,"message":"Min booking lead time must be greater than or equal to 0","error_code":"invalid_body","data":null},"key":"min_value","summary":"min_value","id":"paths/~1api~1calendar~1min-booking-lead-time/post/responses/400/content/application~1json/examples/min_value"},"paths/~1api~1calendar~1min-booking-lead-time/post/responses/400/content/application~1json/examples/max_value":{"value":{"success":false,"message":"Min booking lead time must be less than or equal to 360","error_code":"invalid_body","data":null},"key":"max_value","summary":"max_value","id":"paths/~1api~1calendar~1min-booking-lead-time/post/responses/400/content/application~1json/examples/max_value"},"paths/~1api~1calendar~1min-booking-lead-time/post/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1calendar~1min-booking-lead-time/post/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1calendar~1min-booking-lead-time/post/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Only master can set min booking lead time","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1calendar~1min-booking-lead-time/post/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1calendar~1min-booking-lead-time/post/responses/409/content/application~1json/examples/object_modified_by_another_thread":{"value":{"success":false,"message":"Object was modified by another request. Please reload and try again.","codeError":"object_modified_by_another_thread","error_code":"object_modified_by_another_thread","data":null},"key":"object_modified_by_another_thread","summary":"object_modified_by_another_thread","id":"paths/~1api~1calendar~1min-booking-lead-time/post/responses/409/content/application~1json/examples/object_modified_by_another_thread"},"paths/~1api~1calendar~1break-after-reccord/get/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Break after reccord retrieved successfully","codeError":null,"error_code":null,"data":{"break_after_service_min":15}},"key":"ok","summary":"ok","id":"paths/~1api~1calendar~1break-after-reccord/get/responses/200/content/application~1json/examples/ok"},"paths/~1api~1calendar~1break-after-reccord/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1calendar~1break-after-reccord/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1calendar~1break-after-reccord/get/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Only master can get break after reccord","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1calendar~1break-after-reccord/get/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1calendar~1break-after-reccord/post/requestBody/content/application~1json/examples/default":{"value":{"break_after_service_min":15},"key":"default","summary":"default","id":"paths/~1api~1calendar~1break-after-reccord/post/requestBody/content/application~1json/examples/default"},"paths/~1api~1calendar~1break-after-reccord/post/responses/200/content/application~1json/examples/updated":{"value":{"success":true,"message":"Break after reccord updated successfully","codeError":null,"error_code":null,"data":{"break_after_service_min":15}},"key":"updated","summary":"updated","id":"paths/~1api~1calendar~1break-after-reccord/post/responses/200/content/application~1json/examples/updated"},"paths/~1api~1calendar~1break-after-reccord/post/responses/400/content/application~1json/examples/required":{"value":{"success":false,"message":"Break after reccord is required","error_code":"invalid_body","data":null},"key":"required","summary":"required","id":"paths/~1api~1calendar~1break-after-reccord/post/responses/400/content/application~1json/examples/required"},"paths/~1api~1calendar~1break-after-reccord/post/responses/400/content/application~1json/examples/min_value":{"value":{"success":false,"message":"Break after reccord must be greater than or equal to 0","error_code":"invalid_body","data":null},"key":"min_value","summary":"min_value","id":"paths/~1api~1calendar~1break-after-reccord/post/responses/400/content/application~1json/examples/min_value"},"paths/~1api~1calendar~1break-after-reccord/post/responses/400/content/application~1json/examples/max_value":{"value":{"success":false,"message":"Break after reccord must be less than or equal to 300","error_code":"invalid_body","data":null},"key":"max_value","summary":"max_value","id":"paths/~1api~1calendar~1break-after-reccord/post/responses/400/content/application~1json/examples/max_value"},"paths/~1api~1calendar~1break-after-reccord/post/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1calendar~1break-after-reccord/post/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1calendar~1break-after-reccord/post/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Only master can set break after reccord","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1calendar~1break-after-reccord/post/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1calendar~1break-after-reccord/post/responses/409/content/application~1json/examples/object_modified_by_another_thread":{"value":{"success":false,"message":"Object was modified by another request. Please reload and try again.","codeError":"object_modified_by_another_thread","error_code":"object_modified_by_another_thread","data":null},"key":"object_modified_by_another_thread","summary":"object_modified_by_another_thread","id":"paths/~1api~1calendar~1break-after-reccord/post/responses/409/content/application~1json/examples/object_modified_by_another_thread"},"paths/~1api~1calendar~1action/post/requestBody/content/application~1json/examples/createAction":{"value":{"date":"2026-04-09","interval":{"start_time":"10:00","end_time":"10:30"},"percent_action":10,"service_ids":[55,56]},"key":"createAction","summary":"createAction","id":"paths/~1api~1calendar~1action/post/requestBody/content/application~1json/examples/createAction"},"paths/~1api~1calendar~1action/post/responses/201/content/application~1json/examples/created":{"value":{"success":true,"message":"Calendar action created successfully","codeError":null,"error_code":null,"data":{"action":{"id":"5b707e70-b21b-4d1f-bc65-e3f65f80520a","interval":{"start_time":"10:00","end_time":"10:30"},"percent_action":10,"service_ids":[55,56]}}},"key":"created","summary":"created","id":"paths/~1api~1calendar~1action/post/responses/201/content/application~1json/examples/created"},"paths/~1api~1calendar~1action/post/responses/400/content/application~1json/examples/missing_date":{"value":{"success":false,"message":"Date can't be null","error_code":"invalid_body","data":null},"key":"missing_date","summary":"missing_date","id":"paths/~1api~1calendar~1action/post/responses/400/content/application~1json/examples/missing_date"},"paths/~1api~1calendar~1action/post/responses/400/content/application~1json/examples/missing_service_ids":{"value":{"success":false,"message":"ServiceIds can't be null","error_code":"invalid_body","data":null},"key":"missing_service_ids","summary":"missing_service_ids","id":"paths/~1api~1calendar~1action/post/responses/400/content/application~1json/examples/missing_service_ids"},"paths/~1api~1calendar~1action/post/responses/400/content/application~1json/examples/missing_percent_action":{"value":{"success":false,"message":"PercentAction can't be null","error_code":"invalid_body","data":null},"key":"missing_percent_action","summary":"missing_percent_action","id":"paths/~1api~1calendar~1action/post/responses/400/content/application~1json/examples/missing_percent_action"},"paths/~1api~1calendar~1action/post/responses/400/content/application~1json/examples/invalid_percent_action":{"value":{"success":false,"message":"PercentAction can be [1,99]","error_code":"invalid_body","data":null},"key":"invalid_percent_action","summary":"invalid_percent_action","id":"paths/~1api~1calendar~1action/post/responses/400/content/application~1json/examples/invalid_percent_action"},"paths/~1api~1calendar~1action/post/responses/400/content/application~1json/examples/missing_interval":{"value":{"success":false,"message":"Action interval is required","error_code":"invalid_body","data":null},"key":"missing_interval","summary":"missing_interval","id":"paths/~1api~1calendar~1action/post/responses/400/content/application~1json/examples/missing_interval"},"paths/~1api~1calendar~1action/post/responses/400/content/application~1json/examples/missing_start_time":{"value":{"success":false,"message":"Interval startTime is required","error_code":"invalid_body","data":null},"key":"missing_start_time","summary":"missing_start_time","id":"paths/~1api~1calendar~1action/post/responses/400/content/application~1json/examples/missing_start_time"},"paths/~1api~1calendar~1action/post/responses/400/content/application~1json/examples/missing_end_time":{"value":{"success":false,"message":"Interval endTime is required","error_code":"invalid_body","data":null},"key":"missing_end_time","summary":"missing_end_time","id":"paths/~1api~1calendar~1action/post/responses/400/content/application~1json/examples/missing_end_time"},"paths/~1api~1calendar~1action/post/responses/400/content/application~1json/examples/invalid_interval_order":{"value":{"success":false,"message":"Interval endTime must be after startTime within one day","error_code":"invalid_body","data":null},"key":"invalid_interval_order","summary":"invalid_interval_order","id":"paths/~1api~1calendar~1action/post/responses/400/content/application~1json/examples/invalid_interval_order"},"paths/~1api~1calendar~1action/post/responses/400/content/application~1json/examples/too_short_interval":{"value":{"success":false,"message":"Action interval duration must be at least 15 minutes","error_code":"invalid_body","data":null},"key":"too_short_interval","summary":"too_short_interval","id":"paths/~1api~1calendar~1action/post/responses/400/content/application~1json/examples/too_short_interval"},"paths/~1api~1calendar~1action/post/responses/400/content/application~1json/examples/overlapping_intervals":{"value":{"success":false,"message":"Action intervals must not overlap","error_code":"conflict","data":null},"key":"overlapping_intervals","summary":"overlapping_intervals","id":"paths/~1api~1calendar~1action/post/responses/400/content/application~1json/examples/overlapping_intervals"},"paths/~1api~1calendar~1action/post/responses/400/content/application~1json/examples/past_date":{"value":{"success":false,"message":"Calendar date must not be in the past","error_code":"invalid_body","data":null},"key":"past_date","summary":"past_date","id":"paths/~1api~1calendar~1action/post/responses/400/content/application~1json/examples/past_date"},"paths/~1api~1calendar~1action/post/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1calendar~1action/post/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1calendar~1action/post/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1calendar~1action/post/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1calendar~1action/post/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Resource not found","codeError":"not_found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1calendar~1action/post/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1calendar~1action/post/responses/409/content/application~1json/examples/overlapping_intervals":{"value":{"success":false,"message":"Action intervals must not overlap","error_code":"conflict","data":null},"key":"overlapping_intervals","summary":"overlapping_intervals","id":"paths/~1api~1calendar~1action/post/responses/409/content/application~1json/examples/overlapping_intervals"},"paths/~1api~1calendar~1action~1available-services/get/responses/200/content/application~1json/examples/services":{"value":{"success":true,"message":"Available action services retrieved successfully","codeError":null,"error_code":null,"data":{"services":[{"id":55,"image":10,"name":"Гигиенический маникюр","base_price":1500,"final_price":1200,"discount_percent":20,"is_dynamic_price":false},{"id":56,"image":11,"name":"Педикюр","base_price":2500,"final_price":2500,"discount_percent":null,"is_dynamic_price":true}]}},"key":"services","summary":"services","id":"paths/~1api~1calendar~1action~1available-services/get/responses/200/content/application~1json/examples/services"},"paths/~1api~1calendar~1action~1available-services/get/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1calendar~1action~1available-services/get/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1calendar~1action~1available-services/get/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1calendar~1action~1available-services/get/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1calendar~1action~1available-services/get/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1calendar~1action~1available-services/get/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1calendar~1action~1available-services/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1calendar~1action~1available-services/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1calendar~1action~1available-services/get/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1calendar~1action~1available-services/get/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1calendar~1action~1{date}/get/responses/200/content/application~1json/examples/with_actions":{"value":{"success":true,"message":"Calendar actions retrieved successfully","codeError":null,"error_code":null,"data":{"actions":[{"id":"5b707e70-b21b-4d1f-bc65-e3f65f80520a","interval":{"start_time":"10:00","end_time":"10:15"},"percent_action":10,"service_ids":[55,56]},{"id":"8af08c1f-7870-4627-855d-d0b960760f13","interval":{"start_time":"11:00","end_time":"11:30"},"percent_action":25,"service_ids":[57]}]}},"key":"with_actions","summary":"with_actions","id":"paths/~1api~1calendar~1action~1{date}/get/responses/200/content/application~1json/examples/with_actions"},"paths/~1api~1calendar~1action~1{date}/get/responses/200/content/application~1json/examples/empty":{"value":{"success":true,"message":"Calendar actions retrieved successfully","codeError":null,"error_code":null,"data":{"actions":[]}},"key":"empty","summary":"empty","id":"paths/~1api~1calendar~1action~1{date}/get/responses/200/content/application~1json/examples/empty"},"paths/~1api~1calendar~1action~1{date}/get/responses/400/content/application~1json/examples/past_date":{"value":{"success":false,"message":"Calendar date must not be in the past","error_code":"invalid_body","data":null},"key":"past_date","summary":"past_date","id":"paths/~1api~1calendar~1action~1{date}/get/responses/400/content/application~1json/examples/past_date"},"paths/~1api~1calendar~1action~1{date}/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1calendar~1action~1{date}/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1calendar~1action~1id~1{actionId}/delete/responses/200/content/application~1json/examples/deleted":{"value":{"success":true,"message":"Calendar action deleted successfully","codeError":null,"error_code":null,"data":null},"key":"deleted","summary":"deleted","id":"paths/~1api~1calendar~1action~1id~1{actionId}/delete/responses/200/content/application~1json/examples/deleted"},"paths/~1api~1calendar~1action~1id~1{actionId}/delete/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1calendar~1action~1id~1{actionId}/delete/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1calendar~1action~1id~1{actionId}/delete/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1calendar~1action~1id~1{actionId}/delete/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1calendar~1action~1id~1{actionId}/delete/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Resource not found","codeError":"not_found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1calendar~1action~1id~1{actionId}/delete/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action/post/requestBody/content/application~1json/examples/createSalonMasterAction":{"value":{"date":"2026-07-05","interval":{"start_time":"10:00","end_time":"11:00"},"percent_action":30,"service_ids":[92001011,92001012]},"key":"createSalonMasterAction","summary":"createSalonMasterAction","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action/post/requestBody/content/application~1json/examples/createSalonMasterAction"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action/post/responses/201/content/application~1json/examples/created":{"value":{"success":true,"message":"Salon master calendar action created successfully","codeError":null,"error_code":null,"data":{"action":{"id":"4b5eaf3d-ad0e-4683-87d0-4c877948343c","interval":{"start_time":"10:00","end_time":"11:00"},"master_user_id":92001003,"percent_action":30,"service_ids":[92001011,92001012]}}},"key":"created","summary":"created","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action/post/responses/201/content/application~1json/examples/created"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action/post/responses/400/content/application~1json/examples/missing_date":{"value":{"success":false,"message":"Date can't be null","error_code":"invalid_body","data":null},"key":"missing_date","summary":"missing_date","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action/post/responses/400/content/application~1json/examples/missing_date"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action/post/responses/400/content/application~1json/examples/invalid_percent_action":{"value":{"success":false,"message":"PercentAction can be [1,99]","error_code":"invalid_body","data":null},"key":"invalid_percent_action","summary":"invalid_percent_action","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action/post/responses/400/content/application~1json/examples/invalid_percent_action"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action/post/responses/400/content/application~1json/examples/duplicate_service_ids":{"value":{"success":false,"message":"ServiceIds must not contain duplicates","error_code":"invalid_body","data":null},"key":"duplicate_service_ids","summary":"duplicate_service_ids","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action/post/responses/400/content/application~1json/examples/duplicate_service_ids"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action/post/responses/400/content/application~1json/examples/too_short_interval":{"value":{"success":false,"message":"Action interval duration must be at least 15 minutes","error_code":"invalid_body","data":null},"key":"too_short_interval","summary":"too_short_interval","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action/post/responses/400/content/application~1json/examples/too_short_interval"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action/post/responses/400/content/application~1json/examples/past_date":{"value":{"success":false,"message":"Calendar date must not be in the past","error_code":"invalid_body","data":null},"key":"past_date","summary":"past_date","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action/post/responses/400/content/application~1json/examples/past_date"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action/post/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action/post/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action/post/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"You haven't permission to manage action for this salon master","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action/post/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action/post/responses/404/content/application~1json/examples/service_not_found":{"value":{"success":false,"message":"Service not found","error_code":"not_found","data":null},"key":"service_not_found","summary":"service_not_found","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action/post/responses/404/content/application~1json/examples/service_not_found"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action/post/responses/409/content/application~1json/examples/overlapping_intervals":{"value":{"success":false,"message":"Action intervals must not overlap","error_code":"conflict","data":null},"key":"overlapping_intervals","summary":"overlapping_intervals","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action/post/responses/409/content/application~1json/examples/overlapping_intervals"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1available-services/get/responses/200/content/application~1json/examples/services":{"value":{"success":true,"message":"Salon master available action services retrieved successfully","codeError":null,"error_code":null,"data":{"services":[{"id":92001011,"image":92002001,"name":"Гигиенический маникюр","base_price":1500,"final_price":1200,"discount_percent":20,"is_dynamic_price":false},{"id":92001012,"image":null,"name":"Маникюр с покрытием","base_price":2300,"final_price":2300,"discount_percent":null,"is_dynamic_price":true}]}},"key":"services","summary":"services","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1available-services/get/responses/200/content/application~1json/examples/services"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1available-services/get/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1available-services/get/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1available-services/get/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1available-services/get/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1available-services/get/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1available-services/get/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1available-services/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1available-services/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1available-services/get/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1available-services/get/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1{date}/get/responses/200/content/application~1json/examples/with_actions":{"value":{"success":true,"message":"Salon master calendar actions retrieved successfully","codeError":null,"error_code":null,"data":{"actions":[{"id":"4b5eaf3d-ad0e-4683-87d0-4c877948343c","interval":{"start_time":"10:00","end_time":"11:00"},"master_user_id":92001003,"percent_action":30,"service_ids":[92001011,92001012]}]}},"key":"with_actions","summary":"with_actions","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1{date}/get/responses/200/content/application~1json/examples/with_actions"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1{date}/get/responses/200/content/application~1json/examples/empty":{"value":{"success":true,"message":"Salon master calendar actions retrieved successfully","codeError":null,"error_code":null,"data":{"actions":[]}},"key":"empty","summary":"empty","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1{date}/get/responses/200/content/application~1json/examples/empty"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1{date}/get/responses/400/content/application~1json/examples/past_date":{"value":{"success":false,"message":"Calendar date must not be in the past","error_code":"invalid_body","data":null},"key":"past_date","summary":"past_date","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1{date}/get/responses/400/content/application~1json/examples/past_date"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1{date}/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1{date}/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1{date}/get/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"You haven't permission to manage action for this salon master","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1calendar~1salon~1master~1{master_user_id}~1action~1{date}/get/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1calendar~1salon~1action~1id~1{actionId}/delete/responses/200/content/application~1json/examples/deleted":{"value":{"success":true,"message":"Salon master calendar action deleted successfully","codeError":null,"error_code":null,"data":null},"key":"deleted","summary":"deleted","id":"paths/~1api~1calendar~1salon~1action~1id~1{actionId}/delete/responses/200/content/application~1json/examples/deleted"},"paths/~1api~1calendar~1salon~1action~1id~1{actionId}/delete/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1calendar~1salon~1action~1id~1{actionId}/delete/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1calendar~1salon~1action~1id~1{actionId}/delete/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"You haven't permission to delete this action","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1calendar~1salon~1action~1id~1{actionId}/delete/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1calendar~1salon~1action~1id~1{actionId}/delete/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Action not found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1calendar~1salon~1action~1id~1{actionId}/delete/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1calendar~1notes~1{date}/get/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Notes retrieved successfully","codeError":null,"error_code":null,"data":[{"id":101,"text":"Позвонить поставщику"},{"id":102,"text":"Подготовить зал к проверке"}]},"id":"paths/~1api~1calendar~1notes~1{date}/get/responses/200/content/application~1json/example"},"paths/~1api~1calendar~1notes~1{date}/get/responses/400/content/application~1json/example":{"value":{"success":false,"message":"Invalid value for parameter 'date'","codeError":"invalid_body","error_code":"invalid_body","data":null},"id":"paths/~1api~1calendar~1notes~1{date}/get/responses/400/content/application~1json/example"},"paths/~1api~1calendar~1notes~1{date}/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1calendar~1notes~1{date}/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1calendar~1notes~1{date}/get/responses/403/content/application~1json/examples/salon_only":{"value":{"success":false,"message":"Only salon accounts can manage notes","codeError":"forbidden","error_code":"forbidden","data":null},"key":"salon_only","summary":"salon_only","id":"paths/~1api~1calendar~1notes~1{date}/get/responses/403/content/application~1json/examples/salon_only"},"paths/~1api~1calendar~1notes~1{date}/get/responses/403/content/application~1json/examples/permission_denied":{"value":{"success":false,"message":"Salon member permission denied","codeError":"salon_permission_denied","error_code":"salon_permission_denied","data":null},"key":"permission_denied","summary":"permission_denied","id":"paths/~1api~1calendar~1notes~1{date}/get/responses/403/content/application~1json/examples/permission_denied"},"paths/~1api~1calendar~1notes~1{date}/post/requestBody/content/application~1json/example":{"value":{"text":"Позвонить поставщику"},"id":"paths/~1api~1calendar~1notes~1{date}/post/requestBody/content/application~1json/example"},"paths/~1api~1calendar~1notes~1{date}/post/responses/201/content/application~1json/example":{"value":{"success":true,"message":"Note added successfully","codeError":null,"error_code":null,"data":[{"id":101,"text":"Позвонить поставщику"}]},"id":"paths/~1api~1calendar~1notes~1{date}/post/responses/201/content/application~1json/example"},"paths/~1api~1calendar~1notes~1{date}/post/responses/400/content/application~1json/examples/invalid_date":{"value":{"success":false,"message":"Date must not be null or in the past","codeError":"INVALID_DATE","error_code":"INVALID_DATE","data":null},"key":"invalid_date","summary":"invalid_date","id":"paths/~1api~1calendar~1notes~1{date}/post/responses/400/content/application~1json/examples/invalid_date"},"paths/~1api~1calendar~1notes~1{date}/post/responses/400/content/application~1json/examples/invalid_text":{"value":{"success":false,"message":"must not be blank","codeError":"INVALID_BODY","error_code":"INVALID_BODY","data":null},"key":"invalid_text","summary":"invalid_text","id":"paths/~1api~1calendar~1notes~1{date}/post/responses/400/content/application~1json/examples/invalid_text"},"paths/~1api~1calendar~1notes~1{date}/post/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1calendar~1notes~1{date}/post/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1calendar~1notes~1{date}/post/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1calendar~1notes~1{date}/post/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1calendar~1notes~1{date}/patch/requestBody/content/application~1json/example":{"value":[{"id":101,"text":"Позвонить поставщику повторно"},{"id":102,"text":"Подготовить зал к открытию"}],"id":"paths/~1api~1calendar~1notes~1{date}/patch/requestBody/content/application~1json/example"},"paths/~1api~1calendar~1notes~1{date}/patch/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Notes updated successfully","codeError":null,"error_code":null,"data":[{"id":101,"text":"Позвонить поставщику повторно"},{"id":102,"text":"Подготовить зал к открытию"}]},"id":"paths/~1api~1calendar~1notes~1{date}/patch/responses/200/content/application~1json/example"},"paths/~1api~1calendar~1notes~1{date}/patch/responses/400/content/application~1json/examples/empty_list":{"value":{"success":false,"message":"Notes list must not be empty","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"empty_list","summary":"empty_list","id":"paths/~1api~1calendar~1notes~1{date}/patch/responses/400/content/application~1json/examples/empty_list"},"paths/~1api~1calendar~1notes~1{date}/patch/responses/400/content/application~1json/examples/duplicate_ids":{"value":{"success":false,"message":"Note IDs must be unique","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"duplicate_ids","summary":"duplicate_ids","id":"paths/~1api~1calendar~1notes~1{date}/patch/responses/400/content/application~1json/examples/duplicate_ids"},"paths/~1api~1calendar~1notes~1{date}/patch/responses/400/content/application~1json/examples/wrong_date":{"value":{"success":false,"message":"Note does not belong to this date","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"wrong_date","summary":"wrong_date","id":"paths/~1api~1calendar~1notes~1{date}/patch/responses/400/content/application~1json/examples/wrong_date"},"paths/~1api~1calendar~1notes~1{date}/patch/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1calendar~1notes~1{date}/patch/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1calendar~1notes~1{date}/patch/responses/404/content/application~1json/example":{"value":{"success":false,"message":"Note not found","codeError":"not_found","error_code":"not_found","data":null},"id":"paths/~1api~1calendar~1notes~1{date}/patch/responses/404/content/application~1json/example"},"paths/~1api~1calendar~1notes~1{date}/delete/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Note deleted successfully","codeError":null,"error_code":null,"data":null},"id":"paths/~1api~1calendar~1notes~1{date}/delete/responses/200/content/application~1json/example"},"paths/~1api~1calendar~1notes~1{date}/delete/responses/400/content/application~1json/example":{"value":{"success":false,"message":"Note ID must be greater than 0","codeError":"invalid_body","error_code":"invalid_body","data":null},"id":"paths/~1api~1calendar~1notes~1{date}/delete/responses/400/content/application~1json/example"},"paths/~1api~1calendar~1notes~1{date}/delete/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1calendar~1notes~1{date}/delete/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1calendar~1notes~1{date}/delete/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1calendar~1notes~1{date}/delete/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1calendar~1notes~1{date}/delete/responses/404/content/application~1json/example":{"value":{"success":false,"message":"Note not found","codeError":"not_found","error_code":"not_found","data":null},"id":"paths/~1api~1calendar~1notes~1{date}/delete/responses/404/content/application~1json/example"},"paths/~1api~1service/post/requestBody/content/application~1json/examples/individualMaster":{"value":{"name":"Мужская стрижка","price":1500,"price_intervals":[{"start_time":"10:00","end_time":"12:00","price":2000}],"discount_percent":15,"duration":60,"description":"Стрижка с мытьем головы и укладкой.","category_id":3,"is_fix_price":true,"images":[101,102,103],"service_locations":[{"service_location":"AT_MASTER_PLACE","address":"Moscow, Tverskaya, 16","geolocation":{"lat":55.7618,"lon":37.6095}}],"advantages":["Стерильные инструменты","Быстро"]},"key":"individualMaster","summary":"individualMaster","id":"paths/~1api~1service/post/requestBody/content/application~1json/examples/individualMaster"},"paths/~1api~1service/post/requestBody/content/application~1json/examples/salonService":{"value":{"name":"Мужская стрижка","price":1500,"duration":60,"description":"Стрижка с мытьем головы и укладкой.","category_id":3,"is_fix_price":true,"images":[101,102,103],"advantages":["Стерильные инструменты","Быстро"]},"key":"salonService","summary":"salonService","id":"paths/~1api~1service/post/requestBody/content/application~1json/examples/salonService"},"paths/~1api~1service/post/responses/201/content/application~1json/examples/ok":{"value":{"success":true,"message":"Service created successfully","error_code":null,"data":{"id":20,"images":[101,102,103],"name":"Мужская стрижка","price":1500,"price_intervals":[{"start_time":"10:00","end_time":"12:00","price":2000}],"base_price":1500,"final_price":1275,"discount_percent":15,"duration":60,"description":"Стрижка с мытьем головы и укладкой.","category_id":3,"parent_category_id":1,"provider_id":5,"is_fix_price":true,"service_locations":[{"service_location":"IN_SALON","salon_name":"Beauty Salon","address":"Moscow, Tverskaya, 16"}],"address":"г. Москва, ул. Тверская, д.16","advantages":["Стерильные инструменты","Быстро"],"geo":{"lat":55.7618,"lon":37.6095}}},"key":"ok","summary":"ok","id":"paths/~1api~1service/post/responses/201/content/application~1json/examples/ok"},"paths/~1api~1service/post/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"At least one image ID is required","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1service/post/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1service/post/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1service/post/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1service/post/responses/403/content/application~1json/examples/role_forbidden":{"value":{"success":false,"message":"Only master or salon can create service","error_code":"forbidden","data":null},"key":"role_forbidden","summary":"role_forbidden","id":"paths/~1api~1service/post/responses/403/content/application~1json/examples/role_forbidden"},"paths/~1api~1service/post/responses/403/content/application~1json/examples/no_file_access":{"value":{"success":false,"message":"You haven't permission to use these photos","error_code":"forbidden","data":null},"key":"no_file_access","summary":"no_file_access","id":"paths/~1api~1service/post/responses/403/content/application~1json/examples/no_file_access"},"paths/~1api~1service/post/responses/403/content/application~1json/examples/invalid_file_purpose":{"value":{"success":false,"message":"You can use only files with CARD purpose","error_code":"forbidden","data":null},"key":"invalid_file_purpose","summary":"invalid_file_purpose","id":"paths/~1api~1service/post/responses/403/content/application~1json/examples/invalid_file_purpose"},"paths/~1api~1service/post/responses/422/content/application~1json/examples/geocoding_failed":{"value":{"success":false,"message":"Failed to geocode service address","error_code":"geocoding_failed","data":null},"key":"geocoding_failed","summary":"geocoding_failed","id":"paths/~1api~1service/post/responses/422/content/application~1json/examples/geocoding_failed"},"paths/~1api~1service~1provider/get/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Services retrieved successfully","error_code":null,"data":[{"id":20,"images":[101,102,103],"name":"Мужская стрижка","price":1500,"discount_percent":10,"duration":60,"description":"Стрижка с мытьем головы и укладкой.","category_id":3,"parent_category_id":1,"provider_id":5,"is_fix_price":true,"service_locations":[{"service_location":"IN_SALON","salon_name":"Beauty Salon","address":"Moscow, Tverskaya, 16"}],"address":"г. Москва, ул. Тверская, д.16","advantages":["Стерильные инструменты","Быстро"],"geo":{"lat":55.7618,"lon":37.6095}},{"id":21,"images":[103,104],"name":"Окрашивание волос","price":3500,"discount_percent":0,"duration":120,"description":"Окрашивание в один тон.","category_id":3,"parent_category_id":1,"provider_id":5,"is_fix_price":true,"service_locations":[{"service_location":"IN_SALON","salon_name":"Beauty Salon","address":"Moscow, Tverskaya, 20"}],"address":"г. Москва, ул. Тверская, д.20","advantages":[],"geo":null}]},"key":"ok","summary":"ok","id":"paths/~1api~1service~1provider/get/responses/200/content/application~1json/examples/ok"},"paths/~1api~1service~1provider/get/responses/200/content/application~1json/examples/empty":{"value":{"success":true,"message":"Services retrieved successfully","error_code":null,"data":[]},"key":"empty","summary":"empty","id":"paths/~1api~1service~1provider/get/responses/200/content/application~1json/examples/empty"},"paths/~1api~1service~1provider/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1service~1provider/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1service~1provider/get/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1service~1provider/get/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1service-catalog~1by-category~1{categoryId}/get/responses/200/content/application~1json/examples/root_category":{"value":{"success":true,"message":"Service catalog retrieved successfully","codeError":null,"error_code":null,"data":{"requested_category":{"category_id":2,"name":"Волосы","level":1},"root_category":{"category_id":2,"name":"Волосы","level":1},"groups":[{"category_id":18,"name":"Стрижки","sort_order":1,"items_count":4,"items":[{"catalog_item_id":46,"name":"Женская стрижка","sort_order":2},{"catalog_item_id":47,"name":"Детская стрижка","sort_order":3},{"catalog_item_id":48,"name":"Чёлка","sort_order":4},{"catalog_item_id":49,"name":"Кончики","sort_order":5}]}]}},"key":"root_category","summary":"Справочник по категории первого уровня","id":"paths/~1api~1service-catalog~1by-category~1{categoryId}/get/responses/200/content/application~1json/examples/root_category"},"paths/~1api~1service-catalog~1by-category~1{categoryId}/get/responses/200/content/application~1json/examples/no_available_templates":{"value":{"success":true,"message":"Service catalog retrieved successfully","codeError":null,"error_code":null,"data":{"requested_category":{"category_id":27,"name":"Другое","level":2},"root_category":{"category_id":2,"name":"Волосы","level":1},"groups":[]}},"key":"no_available_templates","summary":"Все шаблоны уже добавлены или выбрана категория «Другое»","id":"paths/~1api~1service-catalog~1by-category~1{categoryId}/get/responses/200/content/application~1json/examples/no_available_templates"},"paths/~1api~1service-catalog~1by-category~1{categoryId}/get/responses/400/content/application~1json/examples/invalid_id":{"value":{"success":false,"message":"Category ID must be greater than 0","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_id","summary":"invalid_id","id":"paths/~1api~1service-catalog~1by-category~1{categoryId}/get/responses/400/content/application~1json/examples/invalid_id"},"paths/~1api~1service-catalog~1by-category~1{categoryId}/get/responses/400/content/application~1json/examples/unsupported_level":{"value":{"success":false,"message":"Unsupported category level","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_level","summary":"unsupported_level","id":"paths/~1api~1service-catalog~1by-category~1{categoryId}/get/responses/400/content/application~1json/examples/unsupported_level"},"paths/~1api~1service-catalog~1by-category~1{categoryId}/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1service-catalog~1by-category~1{categoryId}/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1service-catalog~1by-category~1{categoryId}/get/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1service-catalog~1by-category~1{categoryId}/get/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1service-catalog~1by-category~1{categoryId}/get/responses/404/content/application~1json/examples/category_not_found":{"value":{"success":false,"message":"Category not found","codeError":"not_found","error_code":"not_found","data":null},"key":"category_not_found","summary":"category_not_found","id":"paths/~1api~1service-catalog~1by-category~1{categoryId}/get/responses/404/content/application~1json/examples/category_not_found"},"paths/~1api~1service~1client-place-radius-options/get/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Client place radius options retrieved successfully","data":{"radius_km":[1,5,10,20]}},"id":"paths/~1api~1service~1client-place-radius-options/get/responses/200/content/application~1json/example"},"paths/~1api~1service~1{serviceId}/get/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Service retrieved successfully","error_code":null,"data":{"id":20,"images":[101,102,103],"name":"Мужская стрижка","price":1500,"discount_percent":10,"duration":60,"description":"Стрижка с мытьем головы и укладкой.","category_id":3,"parent_category_id":1,"provider_id":5,"is_fix_price":true,"service_locations":[{"service_location":"IN_SALON","salon_name":"Beauty Salon","address":"Moscow, Tverskaya, 16"}],"address":"г. Москва, ул. Тверская, д.16","advantages":["Стерильные инструменты","Быстро"],"geo":{"lat":55.7618,"lon":37.6095}}},"key":"ok","summary":"ok","id":"paths/~1api~1service~1{serviceId}/get/responses/200/content/application~1json/examples/ok"},"paths/~1api~1service~1{serviceId}/get/responses/400/content/application~1json/examples/invalid_id":{"value":{"success":false,"message":"Service ID must be greater than 0","error_code":"invalid_body","data":null},"key":"invalid_id","summary":"invalid_id","id":"paths/~1api~1service~1{serviceId}/get/responses/400/content/application~1json/examples/invalid_id"},"paths/~1api~1service~1{serviceId}/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1service~1{serviceId}/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1service~1{serviceId}/get/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1service~1{serviceId}/get/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1service~1{serviceId}/get/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Resource not found","codeError":"not_found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1service~1{serviceId}/get/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1service~1{serviceId}/patch/requestBody/content/application~1json/examples/renameAndPrice":{"value":{"name":"Мужская стрижка премиум","price":1800},"key":"renameAndPrice","summary":"renameAndPrice","id":"paths/~1api~1service~1{serviceId}/patch/requestBody/content/application~1json/examples/renameAndPrice"},"paths/~1api~1service~1{serviceId}/patch/requestBody/content/application~1json/examples/setDiscount":{"value":{"discount_percent":15},"key":"setDiscount","summary":"setDiscount","id":"paths/~1api~1service~1{serviceId}/patch/requestBody/content/application~1json/examples/setDiscount"},"paths/~1api~1service~1{serviceId}/patch/requestBody/content/application~1json/examples/removeDiscount":{"value":{"discount_percent":0},"key":"removeDiscount","summary":"removeDiscount","id":"paths/~1api~1service~1{serviceId}/patch/requestBody/content/application~1json/examples/removeDiscount"},"paths/~1api~1service~1{serviceId}/patch/requestBody/content/application~1json/examples/changeCategory":{"value":{"category_id":5},"key":"changeCategory","summary":"changeCategory","id":"paths/~1api~1service~1{serviceId}/patch/requestBody/content/application~1json/examples/changeCategory"},"paths/~1api~1service~1{serviceId}/patch/requestBody/content/application~1json/examples/replaceImages":{"value":{"images":[103,104,105]},"key":"replaceImages","summary":"replaceImages","id":"paths/~1api~1service~1{serviceId}/patch/requestBody/content/application~1json/examples/replaceImages"},"paths/~1api~1service~1{serviceId}/patch/requestBody/content/application~1json/examples/updateIndividualLocation":{"value":{"service_locations":[{"service_location":"AT_MASTER_PLACE","address":"Moscow, Tverskaya, 16","geolocation":{"lat":55.7618,"lon":37.6095}}]},"key":"updateIndividualLocation","summary":"updateIndividualLocation","id":"paths/~1api~1service~1{serviceId}/patch/requestBody/content/application~1json/examples/updateIndividualLocation"},"paths/~1api~1service~1{serviceId}/patch/responses/200/content/application~1json/examples/changed":{"value":{"success":true,"message":"Service updated successfully","error_code":null,"data":{"changed":true,"service":{"id":20,"images":[103,104,105],"name":"Мужская стрижка премиум","price":1800,"discount_percent":15,"duration":60,"description":"Стрижка с мытьем головы и укладкой.","category_id":3,"parent_category_id":1,"provider_id":5,"is_fix_price":true,"service_locations":[{"service_location":"IN_SALON","salon_name":"Beauty Salon","address":"Moscow, Tverskaya, 16"}],"address":"г. Москва, ул. Тверская, д.16","advantages":["Стерильные инструменты","Быстро"],"geo":{"lat":55.7618,"lon":37.6095}}}},"key":"changed","summary":"changed","id":"paths/~1api~1service~1{serviceId}/patch/responses/200/content/application~1json/examples/changed"},"paths/~1api~1service~1{serviceId}/patch/responses/200/content/application~1json/examples/unchanged":{"value":{"success":true,"message":"Service updated successfully","error_code":null,"data":{"changed":false,"service":{"id":20,"images":[101,102,103],"name":"Мужская стрижка","price":1500,"discount_percent":10,"duration":60,"description":"Стрижка с мытьем головы и укладкой.","category_id":3,"parent_category_id":1,"provider_id":5,"is_fix_price":true,"service_locations":[{"service_location":"IN_SALON","salon_name":"Beauty Salon","address":"Moscow, Tverskaya, 16"}],"address":"г. Москва, ул. Тверская, д.16","advantages":["Стерильные инструменты","Быстро"],"geo":{"lat":55.7618,"lon":37.6095}}}},"key":"unchanged","summary":"unchanged","id":"paths/~1api~1service~1{serviceId}/patch/responses/200/content/application~1json/examples/unchanged"},"paths/~1api~1service~1{serviceId}/patch/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"At least one field must be filled correctly","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1service~1{serviceId}/patch/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1service~1{serviceId}/patch/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1service~1{serviceId}/patch/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1service~1{serviceId}/patch/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"You haven't permission to access this service","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1service~1{serviceId}/patch/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1service~1{serviceId}/patch/responses/403/content/application~1json/examples/no_file_access":{"value":{"success":false,"message":"You haven't permission to use these photos","error_code":"forbidden","data":null},"key":"no_file_access","summary":"no_file_access","id":"paths/~1api~1service~1{serviceId}/patch/responses/403/content/application~1json/examples/no_file_access"},"paths/~1api~1service~1{serviceId}/patch/responses/403/content/application~1json/examples/invalid_file_purpose":{"value":{"success":false,"message":"You can use only files with CARD purpose","error_code":"forbidden","data":null},"key":"invalid_file_purpose","summary":"invalid_file_purpose","id":"paths/~1api~1service~1{serviceId}/patch/responses/403/content/application~1json/examples/invalid_file_purpose"},"paths/~1api~1service~1{serviceId}/patch/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Resource not found","codeError":"not_found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1service~1{serviceId}/patch/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1service~1{serviceId}/patch/responses/409/content/application~1json/examples/object_modified_by_another_thread":{"value":{"success":false,"message":"Object was modified by another request. Please reload and try again.","codeError":"object_modified_by_another_thread","error_code":"object_modified_by_another_thread","data":null},"key":"object_modified_by_another_thread","summary":"object_modified_by_another_thread","id":"paths/~1api~1service~1{serviceId}/patch/responses/409/content/application~1json/examples/object_modified_by_another_thread"},"paths/~1api~1service~1{serviceId}/patch/responses/422/content/application~1json/examples/geocoding_failed":{"value":{"success":false,"message":"Failed to geocode service address","error_code":"geocoding_failed","data":null},"key":"geocoding_failed","summary":"geocoding_failed","id":"paths/~1api~1service~1{serviceId}/patch/responses/422/content/application~1json/examples/geocoding_failed"},"paths/~1api~1service~1{serviceId}/delete/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Services deleted successfully","error_code":null,"data":null},"key":"ok","summary":"ok","id":"paths/~1api~1service~1{serviceId}/delete/responses/200/content/application~1json/examples/ok"},"paths/~1api~1service~1{serviceId}/delete/responses/400/content/application~1json/examples/invalid_id":{"value":{"success":false,"message":"Service ID must be greater than 0","error_code":"invalid_body","data":null},"key":"invalid_id","summary":"invalid_id","id":"paths/~1api~1service~1{serviceId}/delete/responses/400/content/application~1json/examples/invalid_id"},"paths/~1api~1service~1{serviceId}/delete/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1service~1{serviceId}/delete/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1service~1{serviceId}/delete/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"You haven't permission to access this service","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1service~1{serviceId}/delete/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1service~1{serviceId}/delete/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Service not found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1service~1{serviceId}/delete/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1service~1{serviceId}/delete/responses/409/content/application~1json/examples/has_bookings":{"value":{"success":false,"message":"Service has bookings","error_code":"conflict","data":null},"key":"has_bookings","summary":"has_bookings","id":"paths/~1api~1service~1{serviceId}/delete/responses/409/content/application~1json/examples/has_bookings"},"paths/~1api~1service~1provider~1{providerId}/get/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Services retrieved successfully","error_code":null,"data":[{"id":20,"images":[101,102,103],"name":"Мужская стрижка","price":1500,"discount_percent":10,"duration":60,"description":"Стрижка с мытьем головы и укладкой.","category_id":3,"parent_category_id":1,"provider_id":5,"is_fix_price":true,"service_locations":[{"service_location":"IN_SALON","salon_name":"Beauty Salon","address":"Moscow, Tverskaya, 16"}],"address":"г. Москва, ул. Тверская, д.16","advantages":["Стерильные инструменты","Быстро"],"geo":{"lat":55.7618,"lon":37.6095}},{"id":21,"images":[103,104],"name":"Окрашивание волос","price":3500,"discount_percent":0,"duration":120,"description":"Окрашивание в один тон.","category_id":3,"parent_category_id":1,"provider_id":5,"is_fix_price":true,"service_locations":[{"service_location":"IN_SALON","salon_name":"Beauty Salon","address":"Moscow, Tverskaya, 20"}],"address":"г. Москва, ул. Тверская, д.20","advantages":[],"geo":null}]},"key":"ok","summary":"ok","id":"paths/~1api~1service~1provider~1{providerId}/get/responses/200/content/application~1json/examples/ok"},"paths/~1api~1service~1provider~1{providerId}/get/responses/400/content/application~1json/examples/invalid_id":{"value":{"success":false,"message":"Provider ID must be greater than 0","error_code":"invalid_body","data":null},"key":"invalid_id","summary":"invalid_id","id":"paths/~1api~1service~1provider~1{providerId}/get/responses/400/content/application~1json/examples/invalid_id"},"paths/~1api~1service~1provider~1{providerId}/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1service~1provider~1{providerId}/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1service~1provider~1{providerId}/get/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1service~1provider~1{providerId}/get/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1service~1salon~1{salonId}/get/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Salon services retrieved successfully","error_code":null,"data":{"salon_id":10,"owner_id":5,"services":[{"id":20,"images":[101,102,103],"name":"Мужская стрижка","price":1500,"discount_percent":10,"duration":60,"description":"Стрижка с мытьем головы и укладкой.","category_id":3,"parent_category_id":1,"provider_id":5,"is_fix_price":true,"service_locations":[],"address":"г. Москва, ул. Тверская, д.16","advantages":["Стерильные инструменты","Быстро"],"geo":{"lat":55.7618,"lon":37.6095}},{"id":21,"images":[103,104],"name":"Окрашивание волос","price":3500,"discount_percent":0,"duration":120,"description":"Окрашивание в один тон.","category_id":3,"parent_category_id":1,"provider_id":5,"is_fix_price":true,"service_locations":[],"address":"г. Москва, ул. Тверская, д.20","advantages":[],"geo":null}]}},"key":"ok","summary":"ok","id":"paths/~1api~1service~1salon~1{salonId}/get/responses/200/content/application~1json/examples/ok"},"paths/~1api~1service~1salon~1{salonId}/get/responses/200/content/application~1json/examples/empty":{"value":{"success":true,"message":"Salon services retrieved successfully","error_code":null,"data":{"salon_id":10,"owner_id":5,"services":[]}},"key":"empty","summary":"empty","id":"paths/~1api~1service~1salon~1{salonId}/get/responses/200/content/application~1json/examples/empty"},"paths/~1api~1service~1salon~1{salonId}/get/responses/400/content/application~1json/examples/invalid_id":{"value":{"success":false,"message":"Salon ID must be greater than 0","error_code":"invalid_body","data":null},"key":"invalid_id","summary":"invalid_id","id":"paths/~1api~1service~1salon~1{salonId}/get/responses/400/content/application~1json/examples/invalid_id"},"paths/~1api~1service~1salon~1{salonId}/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1service~1salon~1{salonId}/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1service~1salon~1{salonId}/get/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1service~1salon~1{salonId}/get/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1service~1salon~1{salonId}/get/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Salon not found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1service~1salon~1{salonId}/get/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1service~1salon~1{salon_id}~1services~1by-category/get/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Salon services retrieved successfully","error_code":null,"data":[{"category_id":1,"services":[{"id":10,"name":"Мужская стрижка","price":1500,"discount_percent":10,"duration":60,"category_id":1,"rating":5}],"children":[{"category_id":2,"services":[],"children":[{"category_id":3,"services":[{"id":11,"name":"Оформление бороды","price":800,"duration":30,"category_id":3,"parent_category_id":1,"rating":null}],"children":[]}]}]}]},"key":"ok","summary":"ok","id":"paths/~1api~1service~1salon~1{salon_id}~1services~1by-category/get/responses/200/content/application~1json/examples/ok"},"paths/~1api~1service~1salon~1{salon_id}~1services~1by-category/get/responses/200/content/application~1json/examples/empty":{"value":{"success":true,"message":"Salon services retrieved successfully","error_code":null,"data":[]},"key":"empty","summary":"empty","id":"paths/~1api~1service~1salon~1{salon_id}~1services~1by-category/get/responses/200/content/application~1json/examples/empty"},"paths/~1api~1service~1salon~1{salon_id}~1services~1by-category/get/responses/400/content/application~1json/examples/invalid_id":{"value":{"success":false,"message":"Salon ID must be greater than 0","error_code":"invalid_body","data":null},"key":"invalid_id","summary":"invalid_id","id":"paths/~1api~1service~1salon~1{salon_id}~1services~1by-category/get/responses/400/content/application~1json/examples/invalid_id"},"paths/~1api~1service~1salon~1{salon_id}~1services~1by-category/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1service~1salon~1{salon_id}~1services~1by-category/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1service~1salon~1{salon_id}~1services~1by-category/get/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1service~1salon~1{salon_id}~1services~1by-category/get/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1service~1salon~1{salon_id}~1services~1by-category/get/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Salon not found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1service~1salon~1{salon_id}~1services~1by-category/get/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1service~1salon~1master~1{master_user_id}~1services/get/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Salon master services retrieved successfully","error_code":null,"data":[{"category_id":1,"services":[{"id":10,"name":"Мужская стрижка","price":1500,"discount_percent":10,"duration":60,"category_id":1,"rating":null}],"children":[]}]},"key":"ok","summary":"ok","id":"paths/~1api~1service~1salon~1master~1{master_user_id}~1services/get/responses/200/content/application~1json/examples/ok"},"paths/~1api~1service~1salon~1master~1{master_user_id}~1services/get/responses/200/content/application~1json/examples/empty":{"value":{"success":true,"message":"Salon master services retrieved successfully","error_code":null,"data":[]},"key":"empty","summary":"empty","id":"paths/~1api~1service~1salon~1master~1{master_user_id}~1services/get/responses/200/content/application~1json/examples/empty"},"paths/~1api~1service~1salon~1master~1{master_user_id}~1services/get/responses/400/content/application~1json/examples/invalid_id":{"value":{"success":false,"message":"Master user ID must be greater than 0","error_code":"invalid_body","data":null},"key":"invalid_id","summary":"invalid_id","id":"paths/~1api~1service~1salon~1master~1{master_user_id}~1services/get/responses/400/content/application~1json/examples/invalid_id"},"paths/~1api~1service~1salon~1master~1{master_user_id}~1services/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1service~1salon~1master~1{master_user_id}~1services/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1service~1salon~1master~1{master_user_id}~1services/get/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1service~1salon~1master~1{master_user_id}~1services/get/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1service~1salon~1master~1{master_user_id}~1services/get/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Salon master not found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1service~1salon~1master~1{master_user_id}~1services/get/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1service~1salon~1master~1{master_user_id}~1services/put/requestBody/content/application~1json/examples/assign":{"value":{"service_ids":[10,11,12]},"key":"assign","summary":"assign","id":"paths/~1api~1service~1salon~1master~1{master_user_id}~1services/put/requestBody/content/application~1json/examples/assign"},"paths/~1api~1service~1salon~1master~1{master_user_id}~1services/put/requestBody/content/application~1json/examples/clear":{"value":{"service_ids":[]},"key":"clear","summary":"clear","id":"paths/~1api~1service~1salon~1master~1{master_user_id}~1services/put/requestBody/content/application~1json/examples/clear"},"paths/~1api~1service~1salon~1master~1{master_user_id}~1services/put/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Salon master services updated successfully","error_code":null,"data":null},"key":"ok","summary":"ok","id":"paths/~1api~1service~1salon~1master~1{master_user_id}~1services/put/responses/200/content/application~1json/examples/ok"},"paths/~1api~1service~1salon~1master~1{master_user_id}~1services/put/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"service_ids cannot be null","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1service~1salon~1master~1{master_user_id}~1services/put/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1service~1salon~1master~1{master_user_id}~1services/put/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1service~1salon~1master~1{master_user_id}~1services/put/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1service~1salon~1master~1{master_user_id}~1services/put/responses/403/content/application~1json/examples/salon_permission_denied":{"value":{"success":false,"message":"Salon member permission denied","error_code":"salon_permission_denied","data":null},"key":"salon_permission_denied","summary":"salon_permission_denied","id":"paths/~1api~1service~1salon~1master~1{master_user_id}~1services/put/responses/403/content/application~1json/examples/salon_permission_denied"},"paths/~1api~1service~1salon~1master~1{master_user_id}~1services/put/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1service~1salon~1master~1{master_user_id}~1services/put/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1service~1salon~1master~1{master_user_id}~1services/put/responses/404/content/application~1json/examples/service_not_found":{"value":{"success":false,"message":"Service not found","error_code":"not_found","data":null},"key":"service_not_found","summary":"service_not_found","id":"paths/~1api~1service~1salon~1master~1{master_user_id}~1services/put/responses/404/content/application~1json/examples/service_not_found"},"paths/~1api~1service~1salon~1master~1{master_user_id}~1services/put/responses/404/content/application~1json/examples/master_not_found":{"value":{"success":false,"message":"Salon master not found","error_code":"not_found","data":null},"key":"master_not_found","summary":"master_not_found","id":"paths/~1api~1service~1salon~1master~1{master_user_id}~1services/put/responses/404/content/application~1json/examples/master_not_found"},"paths/~1api~1service~1master~1{master_user_id}~1services~1by-category/get/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Master services retrieved successfully","error_code":null,"data":[{"category_id":1,"services":[{"id":10,"name":"Мужская стрижка","price":1500,"discount_percent":10,"duration":60,"category_id":1,"rating":null}],"children":[]}]},"key":"ok","summary":"ok","id":"paths/~1api~1service~1master~1{master_user_id}~1services~1by-category/get/responses/200/content/application~1json/examples/ok"},"paths/~1api~1service~1master~1{master_user_id}~1services~1by-category/get/responses/200/content/application~1json/examples/empty":{"value":{"success":true,"message":"Master services retrieved successfully","error_code":null,"data":[]},"key":"empty","summary":"empty","id":"paths/~1api~1service~1master~1{master_user_id}~1services~1by-category/get/responses/200/content/application~1json/examples/empty"},"paths/~1api~1service~1master~1{master_user_id}~1services~1by-category/get/responses/400/content/application~1json/examples/invalid_id":{"value":{"success":false,"message":"Master user ID must be greater than 0","error_code":"invalid_body","data":null},"key":"invalid_id","summary":"invalid_id","id":"paths/~1api~1service~1master~1{master_user_id}~1services~1by-category/get/responses/400/content/application~1json/examples/invalid_id"},"paths/~1api~1service~1master~1{master_user_id}~1services~1by-category/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1service~1master~1{master_user_id}~1services~1by-category/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1service~1master~1{master_user_id}~1services~1by-category/get/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1service~1master~1{master_user_id}~1services~1by-category/get/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1service~1master~1{master_user_id}~1services~1by-category/get/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Master not found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1service~1master~1{master_user_id}~1services~1by-category/get/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1metro/get/responses/200/content/application~1json/examples/stations":{"value":{"success":true,"message":"Metro stations retrieved successfully","codeError":null,"error_code":null,"data":[{"name":"Курская","color_balls":["#0072BA","#894E35","#A1B3D4"]}]},"key":"stations","summary":"stations","id":"paths/~1api~1metro/get/responses/200/content/application~1json/examples/stations"},"paths/~1api~1metro/get/responses/200/content/application~1json/examples/no_metro":{"value":{"success":true,"message":"В этом городе нет метро","codeError":null,"error_code":null,"data":[]},"key":"no_metro","summary":"no_metro","id":"paths/~1api~1metro/get/responses/200/content/application~1json/examples/no_metro"},"paths/~1api~1metro/get/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1metro/get/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1metro/get/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1metro/get/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1metro/get/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1metro/get/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1metro/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1metro/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1metro~1lines/get/responses/200/content/application~1json/examples/lines":{"value":{"success":true,"message":"Metro lines retrieved successfully","codeError":null,"error_code":null,"data":[{"name_line":"Арбатско-Покровская","color_line":"#0072BA","stations":["Арбатская","Бауманская","Щёлковская"]}]},"key":"lines","summary":"lines","id":"paths/~1api~1metro~1lines/get/responses/200/content/application~1json/examples/lines"},"paths/~1api~1metro~1lines/get/responses/200/content/application~1json/examples/no_metro":{"value":{"success":true,"message":"В этом городе нет метро","codeError":null,"error_code":null,"data":[]},"key":"no_metro","summary":"no_metro","id":"paths/~1api~1metro~1lines/get/responses/200/content/application~1json/examples/no_metro"},"paths/~1api~1metro~1lines/get/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1metro~1lines/get/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1metro~1lines/get/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1metro~1lines/get/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1metro~1lines/get/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1metro~1lines/get/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1metro~1lines/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1metro~1lines/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1districts/get/responses/200/content/application~1json/examples/districts":{"value":{"success":true,"message":"Districts retrieved successfully","codeError":null,"error_code":null,"data":["Академический","Басманный","Тверской"]},"key":"districts","summary":"districts","id":"paths/~1api~1districts/get/responses/200/content/application~1json/examples/districts"},"paths/~1api~1districts/get/responses/200/content/application~1json/examples/no_districts":{"value":{"success":true,"message":"В этом городе нет районов","codeError":null,"error_code":null,"data":[]},"key":"no_districts","summary":"no_districts","id":"paths/~1api~1districts/get/responses/200/content/application~1json/examples/no_districts"},"paths/~1api~1districts/get/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1districts/get/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1districts/get/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1districts/get/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1districts/get/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1districts/get/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1districts/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1districts/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1search~1suggestions/get/responses/200/content/application~1json/examples/success":{"value":{"success":true,"message":"Search suggestions retrieved successfully","codeError":null,"error_code":null,"data":{"items":[{"type":"service","name":"Наращивание ресниц"},{"type":"service","name":"Наращивание волос"},{"type":"salon","id":27,"name":"Нара Флора","preview_id":2001},{"type":"master","user_id":105,"name":"Нара Сафонова","preview_id":2015}]}},"key":"success","summary":"success","id":"paths/~1api~1search~1suggestions/get/responses/200/content/application~1json/examples/success"},"paths/~1api~1search~1suggestions/get/responses/200/content/application~1json/examples/short_query":{"value":{"success":true,"message":"Search suggestions retrieved successfully","codeError":null,"error_code":null,"data":{"items":[]}},"key":"short_query","summary":"short_query","id":"paths/~1api~1search~1suggestions/get/responses/200/content/application~1json/examples/short_query"},"paths/~1api~1search~1suggestions/get/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1search~1suggestions/get/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1search~1suggestions/get/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1search~1suggestions/get/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1search~1suggestions/get/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1search~1suggestions/get/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1search~1suggestions/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1search~1suggestions/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1search~1all/get/responses/200/content/application~1json/examples/success":{"value":{"success":true,"message":"Combined search results retrieved successfully","codeError":null,"error_code":null,"data":{"items":[{"type":"service","data":{"id":93,"image_ids":[1093,1094],"name":"Маникюр с покрытием","provider_id":15,"provider_name":"Flow studio","price_info":{"base_price":2500,"final_price":2250,"discount_percent":10},"is_favorite":true,"rating":4.8,"reviews_count":128,"address":"Минск, ул. Немига, 10","distance_meters":500,"service_location":"IN_SALON","salon_name":"Flow studio","radius_km":null}},{"type":"salon","data":{"id":15,"name":"Flow studio","preview_id":2015,"category_ids":[11,12],"category_names":["Педикюр","Покрытие лаком"],"rating":4.9,"reviews_count":158,"address":"Минск, ул. Немига, 10","min_price":1500,"max_price":5000,"is_favorite":false,"distance_meters":700}},{"type":"master","data":{"id":501,"user_id":1001,"preview_id":2001,"first_name":"Ольга","last_name":"Морозова","full_name":"Морозова Ольга","description":"Мастер маникюра и педикюра","category_ids":[11,12],"category_names":["Педикюр","Покрытие лаком"],"rating":4.98,"reviews_count":158,"address":"Минск, ул. Немига, 12","experience_years":5,"min_price":1200,"max_price":4500,"is_favorite":true,"distance_meters":850,"nearest_available_date":"2026-07-18","available_slots":[{"start_time":"10:00:00","end_time":"11:00:00"}],"service_location":"AT_MASTER_PLACE","salon_name":null,"radius_km":null}}],"has_more":true}},"key":"success","summary":"Смешанная поисковая выдача","id":"paths/~1api~1search~1all/get/responses/200/content/application~1json/examples/success"},"paths/~1api~1search~1all/get/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1search~1all/get/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1search~1all/get/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1search~1all/get/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1search~1all/get/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1search~1all/get/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1search~1all/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1search~1all/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1search~1all/get/responses/429/content/application~1json/examples/too_many":{"value":{"success":false,"message":"Too many requests","error_code":"too_many_request","data":{"TTL":60}},"key":"too_many","summary":"too_many","id":"paths/~1api~1search~1all/get/responses/429/content/application~1json/examples/too_many"},"paths/~1api~1search~1services/get/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Services retrieved successfully","error_code":null,"data":{"items":[{"id":93,"image_ids":[1093,1094],"name":"Massage Style 93","provider_id":42,"provider_name":"Flow studio","price_info":{"base_price":6900,"final_price":4140,"discount_percent":40},"is_favorite":true,"rating":4.8,"reviews_count":128,"address":"Москва, Тверская улица, 10","distance_meters":500,"service_location":"IN_SALON","salon_name":"Flow studio","radius_km":null},{"id":43,"image_ids":[1043,1044],"name":"Massage Studio 43","provider_id":84,"provider_name":"Anna Petrova","price_info":{"base_price":4650,"final_price":4650,"discount_percent":0},"is_favorite":false,"rating":null,"reviews_count":0,"address":"Москва, улица Арбат, 15","distance_meters":4000,"service_location":"CLIENT_PLACE","salon_name":null,"radius_km":5}],"has_more":true}},"key":"ok","summary":"ok","id":"paths/~1api~1search~1services/get/responses/200/content/application~1json/examples/ok"},"paths/~1api~1search~1services/get/responses/400/content/application~1json/examples/conflicting_geo_filters":{"value":{"success":false,"message":"Можно использовать только один географический фильтр","error_code":"conflicting_geo_filters","data":null},"key":"conflicting_geo_filters","summary":"conflicting_geo_filters","id":"paths/~1api~1search~1services/get/responses/400/content/application~1json/examples/conflicting_geo_filters"},"paths/~1api~1search~1services/get/responses/400/content/application~1json/examples/invalid_point":{"value":{"success":false,"message":"lat, lon and radiusM must be provided together","error_code":"invalid_body","data":null},"key":"invalid_point","summary":"invalid_point","id":"paths/~1api~1search~1services/get/responses/400/content/application~1json/examples/invalid_point"},"paths/~1api~1search~1services/get/responses/400/content/application~1json/examples/metro_station_not_found":{"value":{"success":false,"message":"Metro station not found: Неизвестная","error_code":"invalid_body","data":null},"key":"metro_station_not_found","summary":"metro_station_not_found","id":"paths/~1api~1search~1services/get/responses/400/content/application~1json/examples/metro_station_not_found"},"paths/~1api~1search~1services/get/responses/400/content/application~1json/examples/invalid_price_range":{"value":{"success":false,"message":"priceTo must be greater than or equal to priceFrom","error_code":"invalid_body","data":null},"key":"invalid_price_range","summary":"invalid_price_range","id":"paths/~1api~1search~1services/get/responses/400/content/application~1json/examples/invalid_price_range"},"paths/~1api~1search~1services/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1search~1services/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1search~1services/get/responses/422/content/application~1json/example":{"value":{"success":false,"message":"Address could not be geocoded","error_code":"geocoding_failed","data":null},"id":"paths/~1api~1search~1services/get/responses/422/content/application~1json/example"},"paths/~1api~1search~1services/get/responses/429/content/application~1json/examples/too_many":{"value":{"success":false,"message":"Too many requests","error_code":"too_many_request","data":{"TTL":60}},"key":"too_many","summary":"too_many","id":"paths/~1api~1search~1services/get/responses/429/content/application~1json/examples/too_many"},"paths/~1api~1search~1masters/get/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Masters retrieved successfully","error_code":null,"data":{"items":[{"id":501,"user_id":1,"preview_id":2001,"first_name":"Anna","last_name":"Ivanova","full_name":"Anna Ivanova","description":"Senior hair colorist and blond expert","category_ids":[10,11],"category_names":["Hair","Coloring"],"rating":4.95,"reviews_count":128,"address":"Minsk Center, Nemiga 10","experience_years":50,"min_price":1800,"max_price":8500,"is_favorite":true,"distance_meters":850,"nearest_available_date":"2026-07-14","available_slots":[{"start_time":"10:00:00","end_time":"11:00:00"},{"start_time":"11:00:00","end_time":"12:00:00"}],"service_location":"CLIENT_PLACE","salon_name":null,"radius_km":5}],"has_more":true}},"key":"ok","summary":"ok","id":"paths/~1api~1search~1masters/get/responses/200/content/application~1json/examples/ok"},"paths/~1api~1search~1masters/get/responses/400/content/application~1json/examples/conflicting_geo_filters":{"value":{"success":false,"message":"Можно использовать только один географический фильтр","error_code":"conflicting_geo_filters","data":null},"key":"conflicting_geo_filters","summary":"conflicting_geo_filters","id":"paths/~1api~1search~1masters/get/responses/400/content/application~1json/examples/conflicting_geo_filters"},"paths/~1api~1search~1masters/get/responses/400/content/application~1json/examples/invalid_point":{"value":{"success":false,"message":"lat, lon and radiusM must be provided together","error_code":"invalid_body","data":null},"key":"invalid_point","summary":"invalid_point","id":"paths/~1api~1search~1masters/get/responses/400/content/application~1json/examples/invalid_point"},"paths/~1api~1search~1masters/get/responses/400/content/application~1json/examples/metro_station_not_found":{"value":{"success":false,"message":"Metro station not found: Неизвестная","error_code":"invalid_body","data":null},"key":"metro_station_not_found","summary":"metro_station_not_found","id":"paths/~1api~1search~1masters/get/responses/400/content/application~1json/examples/metro_station_not_found"},"paths/~1api~1search~1masters/get/responses/400/content/application~1json/examples/invalid_price_range":{"value":{"success":false,"message":"priceTo must be greater than or equal to priceFrom","error_code":"invalid_body","data":null},"key":"invalid_price_range","summary":"invalid_price_range","id":"paths/~1api~1search~1masters/get/responses/400/content/application~1json/examples/invalid_price_range"},"paths/~1api~1search~1masters/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1search~1masters/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1search~1masters/get/responses/422/content/application~1json/example":{"value":{"success":false,"message":"Address could not be geocoded","error_code":"geocoding_failed","data":null},"id":"paths/~1api~1search~1masters/get/responses/422/content/application~1json/example"},"paths/~1api~1search~1masters/get/responses/429/content/application~1json/examples/too_many":{"value":{"success":false,"message":"Too many requests","error_code":"too_many_request","data":{"TTL":60}},"key":"too_many","summary":"too_many","id":"paths/~1api~1search~1masters/get/responses/429/content/application~1json/examples/too_many"},"paths/~1api~1search~1salons/get/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1search~1salons/get/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1search~1salons/get/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1search~1salons/get/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1search~1salons/get/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1search~1salons/get/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1search~1salons/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1search~1salons/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1search~1salons/get/responses/429/content/application~1json/examples/too_many":{"value":{"success":false,"message":"Too many requests","error_code":"too_many_request","data":{"TTL":60}},"key":"too_many","summary":"too_many","id":"paths/~1api~1search~1salons/get/responses/429/content/application~1json/examples/too_many"},"paths/~1api~1search~1services~1count/get/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Services count retrieved successfully","codeError":null,"error_code":null,"data":{"count":42}},"id":"paths/~1api~1search~1services~1count/get/responses/200/content/application~1json/example"},"paths/~1api~1search~1services~1count/get/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1search~1services~1count/get/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1search~1services~1count/get/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1search~1services~1count/get/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1search~1services~1count/get/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1search~1services~1count/get/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1search~1services~1count/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1search~1services~1count/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1search~1services~1count/get/responses/429/content/application~1json/examples/too_many":{"value":{"success":false,"message":"Too many requests","error_code":"too_many_request","data":{"TTL":60}},"key":"too_many","summary":"too_many","id":"paths/~1api~1search~1services~1count/get/responses/429/content/application~1json/examples/too_many"},"paths/~1api~1search~1masters~1count/get/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Masters count retrieved successfully","codeError":null,"error_code":null,"data":{"count":17}},"id":"paths/~1api~1search~1masters~1count/get/responses/200/content/application~1json/example"},"paths/~1api~1search~1masters~1count/get/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1search~1masters~1count/get/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1search~1masters~1count/get/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1search~1masters~1count/get/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1search~1masters~1count/get/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1search~1masters~1count/get/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1search~1masters~1count/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1search~1masters~1count/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1search~1masters~1count/get/responses/429/content/application~1json/examples/too_many":{"value":{"success":false,"message":"Too many requests","error_code":"too_many_request","data":{"TTL":60}},"key":"too_many","summary":"too_many","id":"paths/~1api~1search~1masters~1count/get/responses/429/content/application~1json/examples/too_many"},"paths/~1api~1search~1salons~1count/get/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Salons count retrieved successfully","codeError":null,"error_code":null,"data":{"count":8}},"id":"paths/~1api~1search~1salons~1count/get/responses/200/content/application~1json/example"},"paths/~1api~1search~1salons~1count/get/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1search~1salons~1count/get/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1search~1salons~1count/get/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1search~1salons~1count/get/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1search~1salons~1count/get/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1search~1salons~1count/get/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1search~1salons~1count/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1search~1salons~1count/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1search~1salons~1count/get/responses/429/content/application~1json/examples/too_many":{"value":{"success":false,"message":"Too many requests","error_code":"too_many_request","data":{"TTL":60}},"key":"too_many","summary":"too_many","id":"paths/~1api~1search~1salons~1count/get/responses/429/content/application~1json/examples/too_many"},"paths/~1api~1search~1all~1count/get/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Combined search count retrieved successfully","codeError":null,"error_code":null,"data":{"count":67}},"id":"paths/~1api~1search~1all~1count/get/responses/200/content/application~1json/example"},"paths/~1api~1search~1all~1count/get/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1search~1all~1count/get/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1search~1all~1count/get/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1search~1all~1count/get/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1search~1all~1count/get/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1search~1all~1count/get/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1search~1all~1count/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1search~1all~1count/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1search~1all~1count/get/responses/429/content/application~1json/examples/too_many":{"value":{"success":false,"message":"Too many requests","error_code":"too_many_request","data":{"TTL":60}},"key":"too_many","summary":"too_many","id":"paths/~1api~1search~1all~1count/get/responses/429/content/application~1json/examples/too_many"},"paths/~1api~1search~1addresses/get/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Address suggestions with coordinates retrieved successfully","codeError":null,"error_code":null,"data":{"items":[{"address":"г Москва, ул Тверская, д 10","lat":55.7579,"lon":37.6144}]}},"id":"paths/~1api~1search~1addresses/get/responses/200/content/application~1json/example"},"paths/~1api~1search~1addresses/get/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1search~1addresses/get/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1search~1addresses/get/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1search~1addresses/get/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1search~1addresses/get/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1search~1addresses/get/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1search~1addresses/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1search~1addresses/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1search~1addresses/get/responses/422/content/application~1json/example":{"value":{"success":false,"message":"Failed to get address suggestions","codeError":"address_suggestions_failed","error_code":"address_suggestions_failed","data":null},"id":"paths/~1api~1search~1addresses/get/responses/422/content/application~1json/example"},"paths/~1api~1geocoder~1reverse/get/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Location resolved successfully","codeError":null,"error_code":null,"data":{"city":"Москва","address":"г Москва, тер Кремль, зд 18"}},"id":"paths/~1api~1geocoder~1reverse/get/responses/200/content/application~1json/example"},"paths/~1api~1geocoder~1reverse/get/responses/400/content/application~1json/examples/invalid_lat":{"value":{"success":false,"message":"lat must be a finite number in range [-90, 90]","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_lat","summary":"invalid_lat","id":"paths/~1api~1geocoder~1reverse/get/responses/400/content/application~1json/examples/invalid_lat"},"paths/~1api~1geocoder~1reverse/get/responses/400/content/application~1json/examples/invalid_lon":{"value":{"success":false,"message":"lon must be a finite number in range [-180, 180]","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_lon","summary":"invalid_lon","id":"paths/~1api~1geocoder~1reverse/get/responses/400/content/application~1json/examples/invalid_lon"},"paths/~1api~1geocoder~1reverse/get/responses/400/content/application~1json/examples/non_numeric_lat":{"value":{"success":false,"message":"Invalid value for parameter 'lat'","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"non_numeric_lat","summary":"non_numeric_lat","id":"paths/~1api~1geocoder~1reverse/get/responses/400/content/application~1json/examples/non_numeric_lat"},"paths/~1api~1geocoder~1reverse/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1geocoder~1reverse/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1geocoder~1reverse/get/responses/422/content/application~1json/example":{"value":{"success":false,"message":"Failed to resolve location by geolocation","codeError":"geocoding_failed","error_code":"geocoding_failed","data":null},"id":"paths/~1api~1geocoder~1reverse/get/responses/422/content/application~1json/example"},"paths/~1api~1geocoder~1reverse/get/responses/500/content/application~1json/example":{"value":{"success":false,"message":"Internal server error","codeError":"internal_error","error_code":"internal_error","data":null},"id":"paths/~1api~1geocoder~1reverse/get/responses/500/content/application~1json/example"},"paths/~1api~1search~1places/get/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Place search completed successfully","codeError":null,"error_code":null,"data":[{"name":"г Москва","region":null,"district":null,"fias_id":"0c2b5982-132d-4941-8fad-c94c6334fc91","type":"city","has_metro":true,"has_districts":true},{"name":"д Москва","region":"Московская область","district":"Одинцовский район","fias_id":"72ad228f-3f6b-4f4d-a16c-0f598f9ed9d7","type":"settlement","has_metro":false,"has_districts":false}]},"key":"ok","summary":"ok","id":"paths/~1api~1search~1places/get/responses/200/content/application~1json/examples/ok"},"paths/~1api~1search~1places/get/responses/200/content/application~1json/examples/blank_query":{"value":{"success":true,"message":"Place search completed successfully","codeError":null,"error_code":null,"data":[]},"key":"blank_query","summary":"blank_query","id":"paths/~1api~1search~1places/get/responses/200/content/application~1json/examples/blank_query"},"paths/~1api~1search~1places/get/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1search~1places/get/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1search~1places/get/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1search~1places/get/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1search~1places/get/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1search~1places/get/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1search~1places/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1search~1places/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1search~1places/get/responses/422/content/application~1json/examples/place_suggestions_failed":{"value":{"success":false,"message":"Failed to get place suggestions","codeError":"address_suggestions_failed","error_code":"address_suggestions_failed","data":null},"key":"place_suggestions_failed","summary":"place_suggestions_failed","id":"paths/~1api~1search~1places/get/responses/422/content/application~1json/examples/place_suggestions_failed"},"paths/~1api~1suggestions~1address/get/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Address suggestions retrieved successfully","codeError":null,"error_code":null,"data":{"items":[{"address":"г Москва, ул Хабаровская","geolocation":{"lat":55.7558,"lon":37.6173}}]}},"key":"ok","summary":"ok","id":"paths/~1api~1suggestions~1address/get/responses/200/content/application~1json/examples/ok"},"paths/~1api~1suggestions~1address/get/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1suggestions~1address/get/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1suggestions~1address/get/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1suggestions~1address/get/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1suggestions~1address/get/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1suggestions~1address/get/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1suggestions~1address/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1suggestions~1address/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1suggestions~1address/get/responses/422/content/application~1json/examples/address_suggestions_failed":{"value":{"success":false,"message":"Failed to get address suggestions","codeError":"address_suggestions_failed","error_code":"address_suggestions_failed","data":null},"key":"address_suggestions_failed","summary":"address_suggestions_failed","id":"paths/~1api~1suggestions~1address/get/responses/422/content/application~1json/examples/address_suggestions_failed"},"paths/~1api~1suggestions~1cities/get/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"City suggestions retrieved successfully","codeError":null,"error_code":null,"data":{"items":[{"name":"г Москва","region":null,"district":null,"geolocation":{"lat":55.7558,"lon":37.6173}},{"name":"г Московский","region":"Московская область","district":null,"geolocation":{"lat":55.5991,"lon":37.3544}},{"name":"г Санкт-Петербург","region":null,"district":null,"geolocation":{"lat":59.9388,"lon":30.3149}}]}},"key":"ok","summary":"ok","id":"paths/~1api~1suggestions~1cities/get/responses/200/content/application~1json/examples/ok"},"paths/~1api~1suggestions~1cities/get/responses/200/content/application~1json/examples/blank_query":{"value":{"success":true,"message":"City suggestions retrieved successfully","codeError":null,"error_code":null,"data":{"items":[]}},"key":"blank_query","summary":"blank_query","id":"paths/~1api~1suggestions~1cities/get/responses/200/content/application~1json/examples/blank_query"},"paths/~1api~1suggestions~1cities/get/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1suggestions~1cities/get/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1suggestions~1cities/get/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1suggestions~1cities/get/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1suggestions~1cities/get/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1suggestions~1cities/get/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1suggestions~1cities/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1suggestions~1cities/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1suggestions~1cities/get/responses/422/content/application~1json/examples/address_suggestions_failed":{"value":{"success":false,"message":"Failed to get place suggestions","codeError":"address_suggestions_failed","error_code":"address_suggestions_failed","data":null},"key":"address_suggestions_failed","summary":"address_suggestions_failed","id":"paths/~1api~1suggestions~1cities/get/responses/422/content/application~1json/examples/address_suggestions_failed"},"paths/~1api~1category/get/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Categories retrieved successfully","error_code":null,"data":[{"id":1,"name":"Beauty","parent_id":null,"min_price":1500,"min_duration":60,"children":[{"id":2,"name":"Hair","parent_id":1,"min_price":1500,"min_duration":60,"children":[]}]}]},"key":"ok","summary":"ok","id":"paths/~1api~1category/get/responses/200/content/application~1json/examples/ok"},"paths/~1api~1category/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1category/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1category/post/requestBody/content/application~1json/examples/root":{"value":{"name":"Beauty","image":200},"key":"root","summary":"root","id":"paths/~1api~1category/post/requestBody/content/application~1json/examples/root"},"paths/~1api~1category/post/requestBody/content/application~1json/examples/child":{"value":{"name":"Hair","parent_id":1,"image":201},"key":"child","summary":"child","id":"paths/~1api~1category/post/requestBody/content/application~1json/examples/child"},"paths/~1api~1category/post/responses/201/content/application~1json/examples/ok":{"value":{"success":true,"message":"Category created successfully","codeError":null,"error_code":null,"data":{"id":2,"name":"Hair","parent_id":1,"image_id":200,"min_price":null,"min_duration":null,"children":[]}},"key":"ok","summary":"ok","id":"paths/~1api~1category/post/responses/201/content/application~1json/examples/ok"},"paths/~1api~1category/post/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Name cannot be empty","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1category/post/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1category/post/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1category/post/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1category/post/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1category/post/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1category/post/responses/404/content/application~1json/examples/parent_not_found":{"value":{"success":false,"message":"Parent category not found","error_code":"not_found","data":null},"key":"parent_not_found","summary":"parent_not_found","id":"paths/~1api~1category/post/responses/404/content/application~1json/examples/parent_not_found"},"paths/~1api~1category~1{categoryId}/get/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Category retrieved successfully","error_code":null,"data":{"id":1,"name":"Beauty","parent_id":null,"min_price":1500,"min_duration":60,"children":[{"id":2,"name":"Hair","parent_id":1,"image_id":201,"min_price":1500,"min_duration":60,"children":[]}]}},"key":"ok","summary":"ok","id":"paths/~1api~1category~1{categoryId}/get/responses/200/content/application~1json/examples/ok"},"paths/~1api~1category~1{categoryId}/get/responses/400/content/application~1json/examples/invalid_id":{"value":{"success":false,"message":"Category ID must be greater than 0","error_code":"invalid_body","data":null},"key":"invalid_id","summary":"invalid_id","id":"paths/~1api~1category~1{categoryId}/get/responses/400/content/application~1json/examples/invalid_id"},"paths/~1api~1category~1{categoryId}/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1category~1{categoryId}/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1category~1{categoryId}/get/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Category not found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1category~1{categoryId}/get/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1category~1{categoryId}/patch/requestBody/content/application~1json/examples/rename":{"value":{"name":"Hair Care"},"key":"rename","summary":"rename","id":"paths/~1api~1category~1{categoryId}/patch/requestBody/content/application~1json/examples/rename"},"paths/~1api~1category~1{categoryId}/patch/requestBody/content/application~1json/examples/move":{"value":{"parent_id":3},"key":"move","summary":"move","id":"paths/~1api~1category~1{categoryId}/patch/requestBody/content/application~1json/examples/move"},"paths/~1api~1category~1{categoryId}/patch/requestBody/content/application~1json/examples/replaceImage":{"value":{"image_id":202},"key":"replaceImage","summary":"replaceImage","id":"paths/~1api~1category~1{categoryId}/patch/requestBody/content/application~1json/examples/replaceImage"},"paths/~1api~1category~1{categoryId}/patch/responses/200/content/application~1json/examples/changed":{"value":{"success":true,"message":"Category updated successfully","codeError":null,"error_code":null,"data":{"changed":true,"category":{"id":2,"name":"Hair Care","parent_id":1,"min_price":1500,"min_duration":60,"children":[]}}},"key":"changed","summary":"changed","id":"paths/~1api~1category~1{categoryId}/patch/responses/200/content/application~1json/examples/changed"},"paths/~1api~1category~1{categoryId}/patch/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"At least one field must be filled correctly","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1category~1{categoryId}/patch/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1category~1{categoryId}/patch/responses/400/content/application~1json/examples/self_parent":{"value":{"success":false,"message":"Category cannot reference itself as parent","error_code":"invalid_body","data":null},"key":"self_parent","summary":"self_parent","id":"paths/~1api~1category~1{categoryId}/patch/responses/400/content/application~1json/examples/self_parent"},"paths/~1api~1category~1{categoryId}/patch/responses/400/content/application~1json/examples/parent_cycle":{"value":{"success":false,"message":"Category parent chain cannot contain the category itself","error_code":"invalid_body","data":null},"key":"parent_cycle","summary":"parent_cycle","id":"paths/~1api~1category~1{categoryId}/patch/responses/400/content/application~1json/examples/parent_cycle"},"paths/~1api~1category~1{categoryId}/patch/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1category~1{categoryId}/patch/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1category~1{categoryId}/patch/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1category~1{categoryId}/patch/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1category~1{categoryId}/patch/responses/404/content/application~1json/examples/category_not_found":{"value":{"success":false,"message":"Category not found","error_code":"not_found","data":null},"key":"category_not_found","summary":"category_not_found","id":"paths/~1api~1category~1{categoryId}/patch/responses/404/content/application~1json/examples/category_not_found"},"paths/~1api~1category~1{categoryId}/patch/responses/404/content/application~1json/examples/parent_not_found":{"value":{"success":false,"message":"Parent category not found","error_code":"not_found","data":null},"key":"parent_not_found","summary":"parent_not_found","id":"paths/~1api~1category~1{categoryId}/patch/responses/404/content/application~1json/examples/parent_not_found"},"paths/~1api~1category~1{categoryId}/delete/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Category deleted successfully","codeError":null,"error_code":null,"data":{"deleted":true}},"key":"ok","summary":"ok","id":"paths/~1api~1category~1{categoryId}/delete/responses/200/content/application~1json/examples/ok"},"paths/~1api~1category~1{categoryId}/delete/responses/400/content/application~1json/examples/invalid_id":{"value":{"success":false,"message":"Category ID must be greater than 0","error_code":"invalid_body","data":null},"key":"invalid_id","summary":"invalid_id","id":"paths/~1api~1category~1{categoryId}/delete/responses/400/content/application~1json/examples/invalid_id"},"paths/~1api~1category~1{categoryId}/delete/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1category~1{categoryId}/delete/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1category~1{categoryId}/delete/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1category~1{categoryId}/delete/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1category~1{categoryId}/delete/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Category not found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1category~1{categoryId}/delete/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1category~1{categoryId}/delete/responses/409/content/application~1json/examples/has_children":{"value":{"success":false,"message":"Category has child categories and cannot be deleted","error_code":"conflict","data":null},"key":"has_children","summary":"has_children","id":"paths/~1api~1category~1{categoryId}/delete/responses/409/content/application~1json/examples/has_children"},"paths/~1api~1category~1{categoryId}/delete/responses/409/content/application~1json/examples/used_by_services":{"value":{"success":false,"message":"Category is used by services and cannot be deleted","error_code":"conflict","data":null},"key":"used_by_services","summary":"used_by_services","id":"paths/~1api~1category~1{categoryId}/delete/responses/409/content/application~1json/examples/used_by_services"},"paths/~1api~1category~1onboarding/get/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Onboarding categories retrieved successfully","error_code":null,"data":[{"id":8,"name":"Ногти","parent_id":null,"image_id":8,"min_price":1000,"min_duration":45,"children":[]},{"id":9,"name":"Волосы","parent_id":null,"image_id":9,"min_price":1500,"min_duration":60,"children":[]}]},"key":"ok","summary":"ok","id":"paths/~1api~1category~1onboarding/get/responses/200/content/application~1json/examples/ok"},"paths/~1api~1category~1onboarding/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1category~1onboarding/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1category~1{categoryId}~1children/get/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Children categories retrieved successfully","error_code":null,"data":[{"id":2,"name":"Hair","parent_id":1,"min_price":1500,"min_duration":60,"children":[]},{"id":3,"name":"Nails","parent_id":1,"min_price":1000,"min_duration":45,"children":[]}]},"key":"ok","summary":"ok","id":"paths/~1api~1category~1{categoryId}~1children/get/responses/200/content/application~1json/examples/ok"},"paths/~1api~1category~1{categoryId}~1children/get/responses/400/content/application~1json/examples/invalid_id":{"value":{"success":false,"message":"Category ID must be greater than 0","error_code":"invalid_body","data":null},"key":"invalid_id","summary":"invalid_id","id":"paths/~1api~1category~1{categoryId}~1children/get/responses/400/content/application~1json/examples/invalid_id"},"paths/~1api~1category~1{categoryId}~1children/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1category~1{categoryId}~1children/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1category~1{categoryId}~1children/get/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Category not found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1category~1{categoryId}~1children/get/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1record~1/post/requestBody/content/application~1json/examples/master_service":{"value":{"service_id":20,"start":"2026-03-11T10:00:00Z","end":"2026-03-11T11:00:00Z"},"key":"master_service","summary":"master_service","id":"paths/~1api~1record~1/post/requestBody/content/application~1json/examples/master_service"},"paths/~1api~1record~1/post/requestBody/content/application~1json/examples/salon_service":{"value":{"service_id":20,"master_user_id":40,"start":"2026-03-11T10:00:00Z","end":"2026-03-11T11:00:00Z","client_comment":"Френч, короткие ногти"},"key":"salon_service","summary":"salon_service","id":"paths/~1api~1record~1/post/requestBody/content/application~1json/examples/salon_service"},"paths/~1api~1record~1/post/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Booking request created successfully","error_code":null,"data":null},"key":"ok","summary":"ok","id":"paths/~1api~1record~1/post/responses/200/content/application~1json/examples/ok"},"paths/~1api~1record~1/post/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1record~1/post/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1record~1/post/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1record~1/post/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1record~1/post/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1record~1/post/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1record~1/post/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1record~1/post/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1record~1/post/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1record~1/post/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1record~1/post/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Resource not found","codeError":"not_found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1record~1/post/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1record~1/post/responses/409/content/application~1json/examples/slot_unavailable":{"value":{"success":false,"message":"Requested interval is not available","error_code":"conflict","data":null},"key":"slot_unavailable","summary":"slot_unavailable","id":"paths/~1api~1record~1/post/responses/409/content/application~1json/examples/slot_unavailable"},"paths/~1api~1record~1/post/responses/409/content/application~1json/examples/booking_too_late":{"value":{"success":false,"message":"Booking must be made at least 60 minutes in advance","error_code":"action_too_late","data":null},"key":"booking_too_late","summary":"booking_too_late","id":"paths/~1api~1record~1/post/responses/409/content/application~1json/examples/booking_too_late"},"paths/~1api~1record~1checkout/post/requestBody/content/application~1json/example":{"value":{"service_id":20,"master_user_id":40,"start":"2026-08-04T10:00:00Z","end":"2026-08-04T11:00:00Z"},"id":"paths/~1api~1record~1checkout/post/requestBody/content/application~1json/example"},"paths/~1api~1record~1checkout/post/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Checkout successfully calculated","codeError":null,"error_code":null,"data":{"items":[{"type":"BASE_PRICE","price":1500,"description":"Базовая цена","discount_percent":null},{"type":"ACTION_DISCOUNT","price":1000,"description":"Цена с акцией","discount_percent":33},{"type":"BUSINESS_REFERRAL_DISCOUNT","price":880,"description":"Цена со скидкой у приглашённого бизнеса","discount_percent":12}],"final_price":880}},"id":"paths/~1api~1record~1checkout/post/responses/200/content/application~1json/example"},"paths/~1api~1record~1checkout/post/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1record~1checkout/post/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1record~1checkout/post/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1record~1checkout/post/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1record~1checkout/post/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1record~1checkout/post/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1record~1checkout/post/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1record~1checkout/post/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1record~1checkout/post/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1record~1checkout/post/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1record~1checkout/post/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Resource not found","codeError":"not_found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1record~1checkout/post/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1record~1checkout/post/responses/409/content/application~1json/examples/conflict":{"value":{"success":false,"message":"Request conflicts with the current resource state","codeError":"conflict","error_code":"conflict","data":null},"key":"conflict","summary":"conflict","id":"paths/~1api~1record~1checkout/post/responses/409/content/application~1json/examples/conflict"},"paths/~1api~1record~1{id}/get/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Record retrieved successfully","error_code":null,"data":{"record":{"id":101,"service_id":20,"provider_id":30,"executor_id":30,"user_id":15,"start":"2026-03-11T10:00:00Z","end":"2026-03-11T11:00:00Z","status":"WAITING_FOR_PAYMENT","comment_cancel":null,"service_name":"Мужская стрижка","service_price":1500,"service_location":"IN_SALON","service_address":"г. Москва, ул. Тверская, д.16"}}},"key":"ok","summary":"ok","id":"paths/~1api~1record~1{id}/get/responses/200/content/application~1json/examples/ok"},"paths/~1api~1record~1{id}/get/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1record~1{id}/get/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1record~1{id}/get/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1record~1{id}/get/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1record~1{id}/get/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1record~1{id}/get/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1record~1{id}/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1record~1{id}/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1record~1{id}/get/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1record~1{id}/get/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1record~1{id}/get/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Resource not found","codeError":"not_found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1record~1{id}/get/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1record~1{id}/patch/requestBody/content/application~1json/example":{"value":{"comment":"Клиент предпочитает тихую музыку"},"id":"paths/~1api~1record~1{id}/patch/requestBody/content/application~1json/example"},"paths/~1api~1record~1{id}/patch/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1record~1{id}/patch/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1record~1{id}/patch/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1record~1{id}/patch/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1record~1{id}/patch/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1record~1{id}/patch/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1record~1{id}/patch/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1record~1{id}/patch/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1record~1{id}/patch/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1record~1{id}/patch/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1record~1{id}/patch/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Resource not found","codeError":"not_found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1record~1{id}/patch/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1record~1{id}~1cancel/post/requestBody/content/application~1json/examples/with_comment":{"value":{"comment":"Client requested cancellation"},"key":"with_comment","summary":"with_comment","id":"paths/~1api~1record~1{id}~1cancel/post/requestBody/content/application~1json/examples/with_comment"},"paths/~1api~1record~1{id}~1cancel/post/requestBody/content/application~1json/examples/released_slot_action":{"value":{"comment":"Master canceled and released the slot as an action","released_slot_action":"ACTION","released_slot_action_percent":20},"key":"released_slot_action","summary":"released_slot_action","id":"paths/~1api~1record~1{id}~1cancel/post/requestBody/content/application~1json/examples/released_slot_action"},"paths/~1api~1record~1{id}~1cancel/post/requestBody/content/application~1json/examples/empty_body":{"value":{},"key":"empty_body","summary":"empty_body","id":"paths/~1api~1record~1{id}~1cancel/post/requestBody/content/application~1json/examples/empty_body"},"paths/~1api~1record~1{id}~1cancel/post/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Record canceled successfully","error_code":null,"data":null},"key":"ok","summary":"ok","id":"paths/~1api~1record~1{id}~1cancel/post/responses/200/content/application~1json/examples/ok"},"paths/~1api~1record~1{id}~1cancel/post/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1record~1{id}~1cancel/post/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1record~1{id}~1cancel/post/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1record~1{id}~1cancel/post/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1record~1{id}~1cancel/post/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1record~1{id}~1cancel/post/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1record~1{id}~1cancel/post/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1record~1{id}~1cancel/post/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1record~1{id}~1cancel/post/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1record~1{id}~1cancel/post/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1record~1{id}~1cancel/post/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Resource not found","codeError":"not_found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1record~1{id}~1cancel/post/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1record~1{id}~1cancel/post/responses/409/content/application~1json/examples/wrong_status":{"value":{"success":false,"message":"Only booked record can be canceled","error_code":"conflict","data":null},"key":"wrong_status","summary":"wrong_status","id":"paths/~1api~1record~1{id}~1cancel/post/responses/409/content/application~1json/examples/wrong_status"},"paths/~1api~1record~1{id}~1cancel/post/responses/409/content/application~1json/examples/cancel_too_late":{"value":{"success":false,"message":"Record cancellation refund is calculated from the cancellation rules","error_code":"action_too_late","data":null},"key":"cancel_too_late","summary":"cancel_too_late","id":"paths/~1api~1record~1{id}~1cancel/post/responses/409/content/application~1json/examples/cancel_too_late"},"paths/~1api~1record~1{id}~1cancel/post/responses/409/content/application~1json/examples/object_modified":{"value":{"success":false,"message":"Object was modified by another request. Please reload and try again.","error_code":"object_modified_by_another_thread","data":null},"key":"object_modified","summary":"object_modified","id":"paths/~1api~1record~1{id}~1cancel/post/responses/409/content/application~1json/examples/object_modified"},"paths/~1api~1record~1reschedule/post/requestBody/content/application~1json/examples/example":{"value":{"record_id":101,"percent_compensation":15,"released_slot_action":"ACTION","released_slot_action_percent":20},"key":"example","summary":"example","id":"paths/~1api~1record~1reschedule/post/requestBody/content/application~1json/examples/example"},"paths/~1api~1record~1reschedule/post/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Reschedule request created successfully","error_code":null,"data":null},"key":"ok","summary":"ok","id":"paths/~1api~1record~1reschedule/post/responses/200/content/application~1json/examples/ok"},"paths/~1api~1record~1reschedule/post/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1record~1reschedule/post/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1record~1reschedule/post/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1record~1reschedule/post/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1record~1reschedule/post/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1record~1reschedule/post/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1record~1reschedule/post/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1record~1reschedule/post/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1record~1reschedule/post/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1record~1reschedule/post/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1record~1reschedule/post/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Resource not found","codeError":"not_found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1record~1reschedule/post/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1record~1reschedule/post/responses/409/content/application~1json/examples/wrong_status":{"value":{"success":false,"message":"Only booked record can be rescheduled","error_code":"conflict","data":null},"key":"wrong_status","summary":"wrong_status","id":"paths/~1api~1record~1reschedule/post/responses/409/content/application~1json/examples/wrong_status"},"paths/~1api~1record~1reschedule/post/responses/409/content/application~1json/examples/request_exists":{"value":{"success":false,"message":"Reschedule request already exists","error_code":"conflict","data":null},"key":"request_exists","summary":"request_exists","id":"paths/~1api~1record~1reschedule/post/responses/409/content/application~1json/examples/request_exists"},"paths/~1api~1record~1reschedule/post/responses/409/content/application~1json/examples/reschedule_too_late":{"value":{"success":false,"message":"Record can be rescheduled at least 1 hours in advance","error_code":"action_too_late","data":null},"key":"reschedule_too_late","summary":"reschedule_too_late","id":"paths/~1api~1record~1reschedule/post/responses/409/content/application~1json/examples/reschedule_too_late"},"paths/~1api~1record~1reschedule~1{date}/get/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Reschedule requests retrieved successfully","error_code":null,"data":{"requests":[{"id":11,"record_id":101,"status":"WAITING_APPROVE","percent_compensation":15,"released_slot_action":"ACTION","released_slot_action_percent":20,"at_create":"2026-04-20T09:00:00Z","sender_id":5,"receiver_id":9,"record_start":"2026-04-21T10:00:00Z","record_end":"2026-04-21T11:00:00Z"}]}},"key":"ok","summary":"ok","id":"paths/~1api~1record~1reschedule~1{date}/get/responses/200/content/application~1json/examples/ok"},"paths/~1api~1record~1reschedule~1{date}/get/responses/400/content/application~1json/examples/past_date":{"value":{"success":false,"message":"Record date must not be in the past","error_code":"invalid_body","data":null},"key":"past_date","summary":"past_date","id":"paths/~1api~1record~1reschedule~1{date}/get/responses/400/content/application~1json/examples/past_date"},"paths/~1api~1record~1reschedule~1{date}/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1record~1reschedule~1{date}/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1record~1reschedule~1reject~1{id}/post/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Reschedule request rejected successfully","error_code":null,"data":null},"key":"ok","summary":"ok","id":"paths/~1api~1record~1reschedule~1reject~1{id}/post/responses/200/content/application~1json/examples/ok"},"paths/~1api~1record~1reschedule~1reject~1{id}/post/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1record~1reschedule~1reject~1{id}/post/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1record~1reschedule~1reject~1{id}/post/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1record~1reschedule~1reject~1{id}/post/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1record~1reschedule~1reject~1{id}/post/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1record~1reschedule~1reject~1{id}/post/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1record~1reschedule~1reject~1{id}/post/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1record~1reschedule~1reject~1{id}/post/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1record~1reschedule~1reject~1{id}/post/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Only user can reject reschedule request","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1record~1reschedule~1reject~1{id}/post/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1record~1reschedule~1reject~1{id}/post/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Resource not found","codeError":"not_found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1record~1reschedule~1reject~1{id}/post/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1record~1reschedule~1reject~1{id}/post/responses/409/content/application~1json/examples/wrong_status":{"value":{"success":false,"message":"Only request with status WAITING_APPROVE can be rejected","error_code":"conflict","data":null},"key":"wrong_status","summary":"wrong_status","id":"paths/~1api~1record~1reschedule~1reject~1{id}/post/responses/409/content/application~1json/examples/wrong_status"},"paths/~1api~1record~1reschedule~1reject~1{id}/post/responses/409/content/application~1json/examples/object_modified":{"value":{"success":false,"message":"Object was modified by another request. Please reload and try again.","error_code":"object_modified_by_another_thread","data":null},"key":"object_modified","summary":"object_modified","id":"paths/~1api~1record~1reschedule~1reject~1{id}/post/responses/409/content/application~1json/examples/object_modified"},"paths/~1api~1record~1reschedule~1approve~1{id}/post/requestBody/content/application~1json/examples/example":{"value":{"new_start":"2026-04-22T14:00:00Z","new_end":"2026-04-22T15:00:00Z"},"key":"example","summary":"example","id":"paths/~1api~1record~1reschedule~1approve~1{id}/post/requestBody/content/application~1json/examples/example"},"paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Reschedule request approved successfully","error_code":null,"data":null},"key":"ok","summary":"ok","id":"paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/200/content/application~1json/examples/ok"},"paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/400/content/application~1json/examples/invalid_request_id":{"value":{"success":false,"message":"Request id can't be null","error_code":"invalid_body","data":null},"key":"invalid_request_id","summary":"invalid_request_id","id":"paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/400/content/application~1json/examples/invalid_request_id"},"paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/400/content/application~1json/examples/invalid_interval":{"value":{"success":false,"message":"newStart must be before newEnd","error_code":"invalid_body","data":null},"key":"invalid_interval","summary":"invalid_interval","id":"paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/400/content/application~1json/examples/invalid_interval"},"paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/400/content/application~1json/examples/start_in_past":{"value":{"success":false,"message":"newStart must be in the future","error_code":"invalid_body","data":null},"key":"start_in_past","summary":"start_in_past","id":"paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/400/content/application~1json/examples/start_in_past"},"paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/403/content/application~1json/examples/forbidden_role":{"value":{"success":false,"message":"Only user can approve reschedule request","error_code":"forbidden","data":null},"key":"forbidden_role","summary":"forbidden_role","id":"paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/403/content/application~1json/examples/forbidden_role"},"paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/403/content/application~1json/examples/forbidden_request":{"value":{"success":false,"message":"You haven't permission to approve this request","error_code":"forbidden","data":null},"key":"forbidden_request","summary":"forbidden_request","id":"paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/403/content/application~1json/examples/forbidden_request"},"paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Request not found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/409/content/application~1json/examples/wrong_status":{"value":{"success":false,"message":"Only request with status WAITING_APPROVE can be approved","error_code":"conflict","data":null},"key":"wrong_status","summary":"wrong_status","id":"paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/409/content/application~1json/examples/wrong_status"},"paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/409/content/application~1json/examples/expired_request":{"value":{"success":false,"message":"Expired request can't be approved","error_code":"conflict","data":null},"key":"expired_request","summary":"expired_request","id":"paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/409/content/application~1json/examples/expired_request"},"paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/409/content/application~1json/examples/started_record":{"value":{"success":false,"message":"Started record can't be rescheduled","error_code":"conflict","data":null},"key":"started_record","summary":"started_record","id":"paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/409/content/application~1json/examples/started_record"},"paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/409/content/application~1json/examples/slot_unavailable":{"value":{"success":false,"message":"Requested interval is not available","error_code":"conflict","data":null},"key":"slot_unavailable","summary":"slot_unavailable","id":"paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/409/content/application~1json/examples/slot_unavailable"},"paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/409/content/application~1json/examples/object_modified":{"value":{"success":false,"message":"Object was modified by another request. Please reload and try again.","error_code":"object_modified_by_another_thread","data":null},"key":"object_modified","summary":"object_modified","id":"paths/~1api~1record~1reschedule~1approve~1{id}/post/responses/409/content/application~1json/examples/object_modified"},"paths/~1api~1record~1create/post/requestBody/content/application~1json/examples/individual_master":{"value":{"service_id":501,"user_id":42,"price":1200},"key":"individual_master","summary":"Request от индивидуального мастера","id":"paths/~1api~1record~1create/post/requestBody/content/application~1json/examples/individual_master"},"paths/~1api~1record~1create/post/requestBody/content/application~1json/examples/salon_service":{"value":{"service_id":701,"user_id":42},"key":"salon_service","summary":"Request от владельца или админа салона для фиксированной услуги","id":"paths/~1api~1record~1create/post/requestBody/content/application~1json/examples/salon_service"},"paths/~1api~1record~1create/post/requestBody/content/application~1json/examples/salon_service_custom_price":{"value":{"service_id":701,"user_id":42,"price":1250},"key":"salon_service_custom_price","summary":"Request для услуги с пользовательской ценой","id":"paths/~1api~1record~1create/post/requestBody/content/application~1json/examples/salon_service_custom_price"},"paths/~1api~1record~1create/post/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Create record request created successfully","error_code":null,"data":null},"key":"ok","summary":"ok","id":"paths/~1api~1record~1create/post/responses/200/content/application~1json/examples/ok"},"paths/~1api~1record~1create/post/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1record~1create/post/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1record~1create/post/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1record~1create/post/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1record~1create/post/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1record~1create/post/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1record~1create/post/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1record~1create/post/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1record~1create/post/responses/403/content/application~1json/examples/receiver_not_user":{"value":{"success":false,"message":"Only user can receive create record request","error_code":"forbidden","data":null},"key":"receiver_not_user","summary":"receiver_not_user","id":"paths/~1api~1record~1create/post/responses/403/content/application~1json/examples/receiver_not_user"},"paths/~1api~1record~1create/post/responses/403/content/application~1json/examples/service_not_owned":{"value":{"success":false,"message":"You haven't permission to create request for this service","error_code":"forbidden","data":null},"key":"service_not_owned","summary":"service_not_owned","id":"paths/~1api~1record~1create/post/responses/403/content/application~1json/examples/service_not_owned"},"paths/~1api~1record~1create/post/responses/403/content/application~1json/examples/salon_permission_denied":{"value":{"success":false,"message":"Salon member permission denied","error_code":"salon_permission_denied","data":null},"key":"salon_permission_denied","summary":"salon_permission_denied","id":"paths/~1api~1record~1create/post/responses/403/content/application~1json/examples/salon_permission_denied"},"paths/~1api~1record~1create/post/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"message":"User not found","error_code":"not_found","data":null},"key":"user_not_found","summary":"user_not_found","id":"paths/~1api~1record~1create/post/responses/404/content/application~1json/examples/user_not_found"},"paths/~1api~1record~1create/post/responses/404/content/application~1json/examples/service_not_found":{"value":{"success":false,"message":"Service not found","error_code":"not_found","data":null},"key":"service_not_found","summary":"service_not_found","id":"paths/~1api~1record~1create/post/responses/404/content/application~1json/examples/service_not_found"},"paths/~1api~1record~1create/post/responses/404/content/application~1json/examples/fixed_service_price_not_found":{"value":{"success":false,"message":"Fixed service price not found","error_code":"not_found","data":null},"key":"fixed_service_price_not_found","summary":"fixed_service_price_not_found","id":"paths/~1api~1record~1create/post/responses/404/content/application~1json/examples/fixed_service_price_not_found"},"paths/~1api~1record~1create~1{date}/get/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Create record requests retrieved successfully","error_code":null,"data":{"requests":[{"id":21,"status":"WAITING_APPROVE","at_create":"2026-05-14T10:00:00Z","sender_id":5,"receiver_id":42,"service_id":501,"price":1200}]}},"key":"ok","summary":"ok","id":"paths/~1api~1record~1create~1{date}/get/responses/200/content/application~1json/examples/ok"},"paths/~1api~1record~1create~1{date}/get/responses/400/content/application~1json/examples/past_date":{"value":{"success":false,"message":"Record date must not be in the past","error_code":"invalid_body","data":null},"key":"past_date","summary":"past_date","id":"paths/~1api~1record~1create~1{date}/get/responses/400/content/application~1json/examples/past_date"},"paths/~1api~1record~1create~1{date}/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1record~1create~1{date}/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1record~1create~1reject~1{id}/post/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Create record request rejected successfully","error_code":null,"data":null},"key":"ok","summary":"ok","id":"paths/~1api~1record~1create~1reject~1{id}/post/responses/200/content/application~1json/examples/ok"},"paths/~1api~1record~1create~1reject~1{id}/post/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1record~1create~1reject~1{id}/post/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1record~1create~1reject~1{id}/post/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1record~1create~1reject~1{id}/post/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1record~1create~1reject~1{id}/post/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1record~1create~1reject~1{id}/post/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1record~1create~1reject~1{id}/post/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1record~1create~1reject~1{id}/post/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1record~1create~1reject~1{id}/post/responses/403/content/application~1json/examples/forbidden_role":{"value":{"success":false,"message":"Only user can reject create record request","error_code":"forbidden","data":null},"key":"forbidden_role","summary":"forbidden_role","id":"paths/~1api~1record~1create~1reject~1{id}/post/responses/403/content/application~1json/examples/forbidden_role"},"paths/~1api~1record~1create~1reject~1{id}/post/responses/403/content/application~1json/examples/forbidden_request":{"value":{"success":false,"message":"You haven't permission to reject this request","error_code":"forbidden","data":null},"key":"forbidden_request","summary":"forbidden_request","id":"paths/~1api~1record~1create~1reject~1{id}/post/responses/403/content/application~1json/examples/forbidden_request"},"paths/~1api~1record~1create~1reject~1{id}/post/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Request not found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1record~1create~1reject~1{id}/post/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1record~1create~1reject~1{id}/post/responses/409/content/application~1json/examples/wrong_status":{"value":{"success":false,"message":"Only request with status WAITING_APPROVE can be rejected","error_code":"conflict","data":null},"key":"wrong_status","summary":"wrong_status","id":"paths/~1api~1record~1create~1reject~1{id}/post/responses/409/content/application~1json/examples/wrong_status"},"paths/~1api~1record~1create~1approve~1{id}/post/requestBody/content/application~1json/examples/individual_master":{"value":{"start":"2026-05-20T09:00:00Z","end":"2026-05-20T10:00:00Z"},"key":"individual_master","summary":"Подтверждение request для индивидуального мастера","id":"paths/~1api~1record~1create~1approve~1{id}/post/requestBody/content/application~1json/examples/individual_master"},"paths/~1api~1record~1create~1approve~1{id}/post/requestBody/content/application~1json/examples/salon_service":{"value":{"start":"2026-05-20T09:00:00Z","end":"2026-05-20T10:00:00Z","master_user_id":92001003},"key":"salon_service","summary":"Подтверждение request для услуги салона","id":"paths/~1api~1record~1create~1approve~1{id}/post/requestBody/content/application~1json/examples/salon_service"},"paths/~1api~1record~1create~1approve~1{id}/post/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Create record request approved successfully","error_code":null,"data":{"record_id":101}},"key":"ok","summary":"ok","id":"paths/~1api~1record~1create~1approve~1{id}/post/responses/200/content/application~1json/examples/ok"},"paths/~1api~1record~1create~1approve~1{id}/post/responses/400/content/application~1json/examples/invalid_interval":{"value":{"success":false,"message":"end must be after start","error_code":"invalid_body","data":null},"key":"invalid_interval","summary":"invalid_interval","id":"paths/~1api~1record~1create~1approve~1{id}/post/responses/400/content/application~1json/examples/invalid_interval"},"paths/~1api~1record~1create~1approve~1{id}/post/responses/400/content/application~1json/examples/start_in_past":{"value":{"success":false,"message":"start must be in the future","error_code":"invalid_body","data":null},"key":"start_in_past","summary":"start_in_past","id":"paths/~1api~1record~1create~1approve~1{id}/post/responses/400/content/application~1json/examples/start_in_past"},"paths/~1api~1record~1create~1approve~1{id}/post/responses/400/content/application~1json/examples/duration_too_long":{"value":{"success":false,"message":"duration must be less than or equal to 24 hours","error_code":"invalid_body","data":null},"key":"duration_too_long","summary":"duration_too_long","id":"paths/~1api~1record~1create~1approve~1{id}/post/responses/400/content/application~1json/examples/duration_too_long"},"paths/~1api~1record~1create~1approve~1{id}/post/responses/400/content/application~1json/examples/master_required_for_salon_service":{"value":{"success":false,"message":"master_user_id is required for salon service","error_code":"invalid_body","data":null},"key":"master_required_for_salon_service","summary":"master_required_for_salon_service","id":"paths/~1api~1record~1create~1approve~1{id}/post/responses/400/content/application~1json/examples/master_required_for_salon_service"},"paths/~1api~1record~1create~1approve~1{id}/post/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1record~1create~1approve~1{id}/post/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1record~1create~1approve~1{id}/post/responses/403/content/application~1json/examples/forbidden_role":{"value":{"success":false,"message":"Only user can approve create record request","error_code":"forbidden","data":null},"key":"forbidden_role","summary":"forbidden_role","id":"paths/~1api~1record~1create~1approve~1{id}/post/responses/403/content/application~1json/examples/forbidden_role"},"paths/~1api~1record~1create~1approve~1{id}/post/responses/403/content/application~1json/examples/forbidden_request":{"value":{"success":false,"message":"You haven't permission to approve this request","error_code":"forbidden","data":null},"key":"forbidden_request","summary":"forbidden_request","id":"paths/~1api~1record~1create~1approve~1{id}/post/responses/403/content/application~1json/examples/forbidden_request"},"paths/~1api~1record~1create~1approve~1{id}/post/responses/403/content/application~1json/examples/salon_master_cannot_provide_service":{"value":{"success":false,"message":"Salon master cannot provide this service","error_code":"forbidden","data":null},"key":"salon_master_cannot_provide_service","summary":"salon_master_cannot_provide_service","id":"paths/~1api~1record~1create~1approve~1{id}/post/responses/403/content/application~1json/examples/salon_master_cannot_provide_service"},"paths/~1api~1record~1create~1approve~1{id}/post/responses/404/content/application~1json/examples/user_not_found":{"value":{"success":false,"message":"User not found","error_code":"not_found","data":null},"key":"user_not_found","summary":"user_not_found","id":"paths/~1api~1record~1create~1approve~1{id}/post/responses/404/content/application~1json/examples/user_not_found"},"paths/~1api~1record~1create~1approve~1{id}/post/responses/404/content/application~1json/examples/request_not_found":{"value":{"success":false,"message":"Request not found","error_code":"not_found","data":null},"key":"request_not_found","summary":"request_not_found","id":"paths/~1api~1record~1create~1approve~1{id}/post/responses/404/content/application~1json/examples/request_not_found"},"paths/~1api~1record~1create~1approve~1{id}/post/responses/404/content/application~1json/examples/service_not_found":{"value":{"success":false,"message":"Service not found","error_code":"not_found","data":null},"key":"service_not_found","summary":"service_not_found","id":"paths/~1api~1record~1create~1approve~1{id}/post/responses/404/content/application~1json/examples/service_not_found"},"paths/~1api~1record~1create~1approve~1{id}/post/responses/409/content/application~1json/examples/wrong_status":{"value":{"success":false,"message":"Only request with status WAITING_APPROVE can be approved","error_code":"conflict","data":null},"key":"wrong_status","summary":"wrong_status","id":"paths/~1api~1record~1create~1approve~1{id}/post/responses/409/content/application~1json/examples/wrong_status"},"paths/~1api~1record~1create~1approve~1{id}/post/responses/409/content/application~1json/examples/min_booking_lead_time":{"value":{"success":false,"message":"Booking must be made at least 30 minutes in advance","error_code":"action_too_late","data":null},"key":"min_booking_lead_time","summary":"min_booking_lead_time","id":"paths/~1api~1record~1create~1approve~1{id}/post/responses/409/content/application~1json/examples/min_booking_lead_time"},"paths/~1api~1record~1create~1approve~1{id}/post/responses/409/content/application~1json/examples/slot_unavailable":{"value":{"success":false,"message":"Requested interval is not available","error_code":"slot_unavailable","data":null},"key":"slot_unavailable","summary":"slot_unavailable","id":"paths/~1api~1record~1create~1approve~1{id}/post/responses/409/content/application~1json/examples/slot_unavailable"},"paths/~1api~1record~1surcharge/post/requestBody/content/application~1json/examples/example":{"value":{"service_id":501,"receiver_id":42,"sum":1500,"reason":"Доплата за дополнительные материалы"},"key":"example","summary":"example","id":"paths/~1api~1record~1surcharge/post/requestBody/content/application~1json/examples/example"},"paths/~1api~1record~1surcharge/post/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Surcharge request created successfully","error_code":null,"data":null},"key":"ok","summary":"ok","id":"paths/~1api~1record~1surcharge/post/responses/200/content/application~1json/examples/ok"},"paths/~1api~1record~1surcharge/post/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1record~1surcharge/post/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1record~1surcharge/post/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1record~1surcharge/post/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1record~1surcharge/post/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1record~1surcharge/post/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1record~1surcharge/post/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1record~1surcharge/post/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1record~1surcharge/post/responses/403/content/application~1json/examples/service_not_owned":{"value":{"success":false,"message":"You haven't permission to create surcharge request for this service","error_code":"forbidden","data":null},"key":"service_not_owned","summary":"service_not_owned","id":"paths/~1api~1record~1surcharge/post/responses/403/content/application~1json/examples/service_not_owned"},"paths/~1api~1record~1surcharge/post/responses/404/content/application~1json/examples/service_not_found":{"value":{"success":false,"message":"Service not found","error_code":"not_found","data":null},"key":"service_not_found","summary":"service_not_found","id":"paths/~1api~1record~1surcharge/post/responses/404/content/application~1json/examples/service_not_found"},"paths/~1api~1record~1surcharge~1{date}/get/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Surcharge requests retrieved successfully","error_code":null,"data":{"requests":[{"id":31,"status":"WAITING_APPROVE","at_create":"2026-05-18T07:37:57Z","sender_id":5,"receiver_id":42,"service_id":501,"sum":1500,"reason":"Доплата за дополнительные материалы","reject_reason":null}]}},"key":"ok","summary":"ok","id":"paths/~1api~1record~1surcharge~1{date}/get/responses/200/content/application~1json/examples/ok"},"paths/~1api~1record~1surcharge~1{date}/get/responses/400/content/application~1json/examples/past_date":{"value":{"success":false,"message":"Record date must not be in the past","error_code":"invalid_body","data":null},"key":"past_date","summary":"past_date","id":"paths/~1api~1record~1surcharge~1{date}/get/responses/400/content/application~1json/examples/past_date"},"paths/~1api~1record~1surcharge~1{date}/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1record~1surcharge~1{date}/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1record~1surcharge~1reject~1{id}/post/requestBody/content/application~1json/examples/example":{"value":{"reason":"Не согласен с доплатой"},"key":"example","summary":"example","id":"paths/~1api~1record~1surcharge~1reject~1{id}/post/requestBody/content/application~1json/examples/example"},"paths/~1api~1record~1surcharge~1reject~1{id}/post/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Surcharge request rejected successfully","error_code":null,"data":null},"key":"ok","summary":"ok","id":"paths/~1api~1record~1surcharge~1reject~1{id}/post/responses/200/content/application~1json/examples/ok"},"paths/~1api~1record~1surcharge~1reject~1{id}/post/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1record~1surcharge~1reject~1{id}/post/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1record~1surcharge~1reject~1{id}/post/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1record~1surcharge~1reject~1{id}/post/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1record~1surcharge~1reject~1{id}/post/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1record~1surcharge~1reject~1{id}/post/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1record~1surcharge~1reject~1{id}/post/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1record~1surcharge~1reject~1{id}/post/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1record~1surcharge~1reject~1{id}/post/responses/403/content/application~1json/examples/forbidden_role":{"value":{"success":false,"message":"Only user can reject surcharge request","error_code":"forbidden","data":null},"key":"forbidden_role","summary":"forbidden_role","id":"paths/~1api~1record~1surcharge~1reject~1{id}/post/responses/403/content/application~1json/examples/forbidden_role"},"paths/~1api~1record~1surcharge~1reject~1{id}/post/responses/403/content/application~1json/examples/forbidden_request":{"value":{"success":false,"message":"You haven't permission to reject this request","error_code":"forbidden","data":null},"key":"forbidden_request","summary":"forbidden_request","id":"paths/~1api~1record~1surcharge~1reject~1{id}/post/responses/403/content/application~1json/examples/forbidden_request"},"paths/~1api~1record~1surcharge~1reject~1{id}/post/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Request not found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1record~1surcharge~1reject~1{id}/post/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1record~1surcharge~1reject~1{id}/post/responses/409/content/application~1json/examples/wrong_status":{"value":{"success":false,"message":"Only request with status WAITING_APPROVE can be rejected","error_code":"conflict","data":null},"key":"wrong_status","summary":"wrong_status","id":"paths/~1api~1record~1surcharge~1reject~1{id}/post/responses/409/content/application~1json/examples/wrong_status"},"paths/~1api~1record~1surcharge~1pay~1{request_id}/post/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Surcharge payment event published successfully","error_code":null,"data":{"request_id":31}},"key":"ok","summary":"ok","id":"paths/~1api~1record~1surcharge~1pay~1{request_id}/post/responses/200/content/application~1json/examples/ok"},"paths/~1api~1record~1surcharge~1pay~1{request_id}/post/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1record~1surcharge~1pay~1{request_id}/post/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1record~1pay~1{id}/post/responses/200/content/application~1json/examples/published":{"value":{"success":true,"message":"Record payment event published successfully","error_code":null,"data":{"record_id":101}},"key":"published","summary":"published","id":"paths/~1api~1record~1pay~1{id}/post/responses/200/content/application~1json/examples/published"},"paths/~1api~1record~1pay~1{id}/post/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1record~1pay~1{id}/post/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1record~1free-slots/get/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Free slots retrieved successfully","error_code":null,"data":{"free_slots":[{"start_time":"09:00","end_time":"09:30","base_price":2000,"final_price":1600,"discount_percent":20},{"start_time":"09:30","end_time":"10:00","base_price":1500,"final_price":1500,"discount_percent":null}]}},"key":"ok","summary":"ok","id":"paths/~1api~1record~1free-slots/get/responses/200/content/application~1json/examples/ok"},"paths/~1api~1record~1free-slots/get/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1record~1free-slots/get/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1record~1free-slots/get/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1record~1free-slots/get/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1record~1free-slots/get/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1record~1free-slots/get/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1record~1free-slots/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1record~1free-slots/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1record~1free-slots/get/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1record~1free-slots/get/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1record~1free-slots/get/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Resource not found","codeError":"not_found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1record~1free-slots/get/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1record~1user/get/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"User records retrieved successfully","error_code":null,"data":{"records":[{"id":101,"service_id":20,"provider_id":30,"executor_id":30,"user_id":15,"start":"2026-03-11T10:00:00Z","end":"2026-03-11T11:00:00Z","status":"WAITING_FOR_PAYMENT","comment_cancel":null,"service_name":"Мужская стрижка","service_price":1500,"service_location":"IN_SALON","service_address":"г. Москва, ул. Тверская, д.16"},{"id":102,"service_id":21,"provider_id":31,"executor_id":31,"user_id":15,"start":"2026-03-12T09:00:00Z","end":"2026-03-12T09:30:00Z","status":"BOOKED","comment_cancel":null,"service_name":"Окрашивание волос","service_price":3500,"service_location":"AT_MASTER_PLACE","service_address":"г. Москва, ул. Тверская, д.20"}]}},"key":"ok","summary":"ok","id":"paths/~1api~1record~1user/get/responses/200/content/application~1json/examples/ok"},"paths/~1api~1record~1user/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1record~1user/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1record~1user/get/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1record~1user/get/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1record~1provider/get/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Provider records retrieved successfully","error_code":null,"data":{"records":[{"id":101,"service_id":20,"provider_id":30,"executor_id":30,"user_id":15,"start":"2026-03-11T10:00:00Z","end":"2026-03-11T11:00:00Z","status":"WAITING_FOR_PAYMENT","comment_cancel":null,"service_name":"Мужская стрижка","service_price":1500,"service_location":"IN_SALON","service_address":"г. Москва, ул. Тверская, д.16"},{"id":102,"service_id":21,"provider_id":30,"executor_id":30,"user_id":18,"start":"2026-03-12T09:00:00Z","end":"2026-03-12T09:30:00Z","status":"BOOKED","comment_cancel":null,"service_name":"Окрашивание волос","service_price":3500,"service_location":"AT_MASTER_PLACE","service_address":"г. Москва, ул. Тверская, д.20"}]}},"key":"ok","summary":"ok","id":"paths/~1api~1record~1provider/get/responses/200/content/application~1json/examples/ok"},"paths/~1api~1record~1provider/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1record~1provider/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1record~1provider/get/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1record~1provider/get/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1record~1provider~1schedule~1{date}/get/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Provider schedule retrieved successfully","error_code":null,"data":{"date":"2026-04-28","items":[{"type":"RECORD","id":123,"start":"09:45:00","end":"10:00:00","service_name":"Стрижка челки","client_comment":"Короткая челка","master_comment":null},{"type":"BREAK","id":null,"start":"13:00:00","end":"14:00:00"}]}},"id":"paths/~1api~1record~1provider~1schedule~1{date}/get/responses/200/content/application~1json/example"},"paths/~1api~1record~1provider~1schedule~1{date}/get/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1record~1provider~1schedule~1{date}/get/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1record~1provider~1schedule~1{date}/get/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1record~1provider~1schedule~1{date}/get/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1record~1provider~1schedule~1{date}/get/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1record~1provider~1schedule~1{date}/get/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1record~1provider~1schedule~1{date}/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1record~1provider~1schedule~1{date}/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1record~1provider~1schedule~1{date}/get/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1record~1provider~1schedule~1{date}/get/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1record~1provider~1calendar/get/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1record~1provider~1calendar/get/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1record~1provider~1calendar/get/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1record~1provider~1calendar/get/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1record~1provider~1calendar/get/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1record~1provider~1calendar/get/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1record~1provider~1calendar/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1record~1provider~1calendar/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1record~1provider~1calendar/get/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1record~1provider~1calendar/get/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1record~1provider~1{date}/get/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Provider records retrieved successfully","error_code":null,"data":{"records":[{"id":101,"service_id":20,"provider_id":30,"executor_id":30,"user_id":15,"start":"2026-03-11T10:00:00Z","end":"2026-03-11T11:00:00Z","status":"BOOKED","comment_cancel":null,"service_name":"Мужская стрижка","service_price":1500,"service_location":"IN_SALON","service_address":"г. Москва, ул. Тверская, д.16"}]}},"key":"ok","summary":"ok","id":"paths/~1api~1record~1provider~1{date}/get/responses/200/content/application~1json/examples/ok"},"paths/~1api~1record~1provider~1{date}/get/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1record~1provider~1{date}/get/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1record~1provider~1{date}/get/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1record~1provider~1{date}/get/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1record~1provider~1{date}/get/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1record~1provider~1{date}/get/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1record~1provider~1{date}/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1record~1provider~1{date}/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1record~1provider~1{date}/get/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1record~1provider~1{date}/get/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1master~1analytics~1{date}/get/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Master analytics retrieved successfully","error_code":null,"data":{"analytics":{"countRecords":3,"countFreeHours":4}}},"key":"ok","summary":"ok","id":"paths/~1api~1master~1analytics~1{date}/get/responses/200/content/application~1json/examples/ok"},"paths/~1api~1master~1analytics~1{date}/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1master~1analytics~1{date}/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1master~1analytics~1{date}/get/responses/404/content/application~1json/examples/master_not_found":{"value":{"success":false,"message":"Master not found","error_code":"not_found","data":null},"key":"master_not_found","summary":"master_not_found","id":"paths/~1api~1master~1analytics~1{date}/get/responses/404/content/application~1json/examples/master_not_found"},"paths/~1api~1salon~1analytics~1{date}/get/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Salon daily analytics retrieved successfully","codeError":null,"error_code":null,"data":{"analytics":{"count_records":12,"count_free_hours":4,"workload_percent":75}}},"key":"ok","summary":"ok","id":"paths/~1api~1salon~1analytics~1{date}/get/responses/200/content/application~1json/examples/ok"},"paths/~1api~1salon~1analytics~1{date}/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1salon~1analytics~1{date}/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1salon~1analytics~1{date}/get/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1salon~1analytics~1{date}/get/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1analytics~1master/get/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Analytics retrieved successfully","error_code":null,"data":{"analytics":{"period":{"start":"2026-05-20","end":"2026-05-21"},"revenue":{"value":29000,"change_percent":12.5,"estimated":35000},"records":{"value":4,"change":1},"average_check":{"value":7250,"change_percent":5.2},"cancellations":{"value":1,"change_percent":0},"new_clients":{"value":2,"change":1},"revenue_by_day":[{"date":"2026-05-20","revenue":12000},{"date":"2026-05-21","revenue":17000}],"workload":{"percent":48.28,"booked_hours":7,"available_hours":8},"popular_services":[{"service_id":990101,"service_name":"Manicure","record_count":2,"revenue":15000,"share_percent":100}]}}},"key":"ok","summary":"ok","id":"paths/~1api~1analytics~1master/get/responses/200/content/application~1json/examples/ok"},"paths/~1api~1analytics~1master/get/responses/400/content/application~1json/examples/start_required":{"value":{"success":false,"message":"Start date is required","error_code":"invalid_body","data":null},"key":"start_required","summary":"start_required","id":"paths/~1api~1analytics~1master/get/responses/400/content/application~1json/examples/start_required"},"paths/~1api~1analytics~1master/get/responses/400/content/application~1json/examples/end_required":{"value":{"success":false,"message":"End date is required","error_code":"invalid_body","data":null},"key":"end_required","summary":"end_required","id":"paths/~1api~1analytics~1master/get/responses/400/content/application~1json/examples/end_required"},"paths/~1api~1analytics~1master/get/responses/400/content/application~1json/examples/end_before_start":{"value":{"success":false,"message":"End date must not be before start date","error_code":"invalid_body","data":null},"key":"end_before_start","summary":"end_before_start","id":"paths/~1api~1analytics~1master/get/responses/400/content/application~1json/examples/end_before_start"},"paths/~1api~1analytics~1master/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1analytics~1master/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1analytics~1master/get/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1analytics~1master/get/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1analytics~1master/get/responses/404/content/application~1json/examples/master_not_found":{"value":{"success":false,"message":"Master not found","error_code":"not_found","data":null},"key":"master_not_found","summary":"master_not_found","id":"paths/~1api~1analytics~1master/get/responses/404/content/application~1json/examples/master_not_found"},"paths/~1api~1analytics~1salon/get/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Analytics retrieved successfully","error_code":null,"data":{"analytics":{"period":{"start":"2026-05-20","end":"2026-05-21"},"revenue":{"value":142500,"change_percent":18,"estimated":160000},"records":{"value":94,"change":12},"average_check":{"value":1516,"change_percent":4},"cancellations":{"value":7,"change_percent":-7.4},"new_clients":{"value":23,"change":6},"revenue_by_day":[{"date":"2026-05-20","revenue":70000},{"date":"2026-05-21","revenue":72500}],"workload":{"percent":68,"booked_hours":94,"available_hours":44,"masters_count":4},"popular_services":[{"service_id":990101,"service_name":"Маникюр комби","record_count":28,"revenue":42000,"share_percent":100},{"service_id":990102,"service_name":"Окрашивание","record_count":25,"revenue":38000,"share_percent":89.29},{"service_id":990103,"service_name":"Женская стрижка","record_count":19,"revenue":28500,"share_percent":67.86}]}}},"key":"ok","summary":"ok","id":"paths/~1api~1analytics~1salon/get/responses/200/content/application~1json/examples/ok"},"paths/~1api~1analytics~1salon/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1analytics~1salon/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1analytics~1salon/get/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1analytics~1salon/get/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1review/post/requestBody/content/application~1json/examples/example":{"value":{"service_record_id":150,"rating":5,"liked_text":"Очень аккуратная работа и чистое рабочее место","disliked_text":"Немного долгое ожидание перед началом","comment":"В целом всё понравилось, результат отличный.","tags":["CLEANLINESS","PROFESSIONALISM"],"media_ids":[101,102]},"key":"example","summary":"example","id":"paths/~1api~1review/post/requestBody/content/application~1json/examples/example"},"paths/~1api~1review/post/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Successfully leave review","error_code":null,"data":{"id":77,"service_record_id":150,"provider_id":20,"executor_id":25,"user_id":10,"rating":5,"liked_text":"Очень аккуратная работа и чистое рабочее место","disliked_text":"Немного долгое ожидание перед началом","comment":"В целом всё понравилось, результат отличный.","tags":["CLEANLINESS","PROFESSIONALISM"],"media_ids":[101,102],"created_at":"2026-04-28T10:30:00Z"}},"key":"ok","summary":"ok","id":"paths/~1api~1review/post/responses/200/content/application~1json/examples/ok"},"paths/~1api~1review/post/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1review/post/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1review/post/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1review/post/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1review/post/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1review/post/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1review/post/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1review/post/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1review/post/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Resource not found","codeError":"not_found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1review/post/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1review/post/responses/409/content/application~1json/examples/conflict":{"value":{"success":false,"message":"Request conflicts with the current resource state","codeError":"conflict","error_code":"conflict","data":null},"key":"conflict","summary":"conflict","id":"paths/~1api~1review/post/responses/409/content/application~1json/examples/conflict"},"paths/~1api~1review~1user/get/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Successfully retrieved reviews","error_code":null,"data":[{"id":77,"service_record_id":150,"provider_id":20,"executor_id":25,"user_id":10,"rating":5,"liked_text":"Очень аккуратная работа и чистое рабочее место","disliked_text":"Немного долгое ожидание перед началом","comment":"В целом всё понравилось, результат отличный.","tags":["CLEANLINESS","PROFESSIONALISM"],"media_ids":[101,102],"created_at":"2026-04-28T10:30:00Z"}]},"key":"ok","summary":"ok","id":"paths/~1api~1review~1user/get/responses/200/content/application~1json/examples/ok"},"paths/~1api~1review~1user/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1review~1user/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1review~1provider~1{providerId}/get/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Successfully retrieved reviews","error_code":null,"data":[{"id":77,"service_record_id":150,"provider_id":20,"executor_id":25,"user_id":10,"rating":5,"liked_text":"Очень аккуратная работа и чистое рабочее место","disliked_text":"Немного долгое ожидание перед началом","comment":"В целом всё понравилось, результат отличный.","tags":["CLEANLINESS","PROFESSIONALISM"],"media_ids":[101,102],"created_at":"2026-04-28T10:30:00Z"}]},"key":"ok","summary":"ok","id":"paths/~1api~1review~1provider~1{providerId}/get/responses/200/content/application~1json/examples/ok"},"paths/~1api~1review~1salon~1{salonId}/get/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Successfully retrieved salon reviews","error_code":null,"data":[{"id":77,"service_record_id":150,"provider_id":20,"executor_id":25,"user_id":10,"rating":5,"tags":["PROFESSIONALISM"],"media_ids":[],"created_at":"2026-04-28T10:30:00Z"}]},"key":"ok","summary":"ok","id":"paths/~1api~1review~1salon~1{salonId}/get/responses/200/content/application~1json/examples/ok"},"paths/~1api~1review~1salon~1{salonId}/get/responses/200/content/application~1json/examples/empty":{"value":{"success":true,"message":"Successfully retrieved salon reviews","error_code":null,"data":[]},"key":"empty","summary":"empty","id":"paths/~1api~1review~1salon~1{salonId}/get/responses/200/content/application~1json/examples/empty"},"paths/~1api~1review~1salon~1{salonId}/get/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Resource not found","codeError":"not_found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1review~1salon~1{salonId}/get/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1review~1salon~1{salonId}~1master~1{masterUserId}/get/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Successfully retrieved salon master reviews","error_code":null,"data":[{"id":77,"service_record_id":150,"provider_id":20,"executor_id":25,"user_id":10,"rating":5,"tags":["PROFESSIONALISM"],"media_ids":[],"created_at":"2026-04-28T10:30:00Z"}]},"key":"ok","summary":"ok","id":"paths/~1api~1review~1salon~1{salonId}~1master~1{masterUserId}/get/responses/200/content/application~1json/examples/ok"},"paths/~1api~1review~1salon~1{salonId}~1master~1{masterUserId}/get/responses/200/content/application~1json/examples/empty":{"value":{"success":true,"message":"Successfully retrieved salon master reviews","error_code":null,"data":[]},"key":"empty","summary":"empty","id":"paths/~1api~1review~1salon~1{salonId}~1master~1{masterUserId}/get/responses/200/content/application~1json/examples/empty"},"paths/~1api~1review~1service~1{service_id}/get/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Successfully retrieved reviews","error_code":null,"data":[{"id":77,"service_record_id":150,"provider_id":20,"executor_id":25,"user_id":10,"rating":5,"liked_text":"Очень аккуратная работа и чистое рабочее место","disliked_text":"Немного долгое ожидание перед началом","comment":"В целом всё понравилось, результат отличный.","tags":["CLEANLINESS","PROFESSIONALISM"],"media_ids":[101,102],"created_at":"2026-04-28T10:30:00Z"}]},"key":"ok","summary":"ok","id":"paths/~1api~1review~1service~1{service_id}/get/responses/200/content/application~1json/examples/ok"},"paths/~1api~1review~1service~1{service_id}/get/responses/200/content/application~1json/examples/empty":{"value":{"success":true,"message":"Successfully retrieved reviews","error_code":null,"data":[]},"key":"empty","summary":"empty","id":"paths/~1api~1review~1service~1{service_id}/get/responses/200/content/application~1json/examples/empty"},"paths/~1api~1review~1record~1{id}/get/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Successfully retrieved reviews","error_code":null,"data":[{"id":77,"service_record_id":150,"provider_id":20,"executor_id":25,"user_id":10,"rating":5,"liked_text":"Очень аккуратная работа и чистое рабочее место","disliked_text":"Немного долгое ожидание перед началом","comment":"В целом всё понравилось, результат отличный.","tags":["CLEANLINESS","PROFESSIONALISM"],"media_ids":[101,102],"created_at":"2026-04-28T10:30:00Z"}]},"key":"ok","summary":"ok","id":"paths/~1api~1review~1record~1{id}/get/responses/200/content/application~1json/examples/ok"},"paths/~1api~1review~1{id}/get/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Successfully retrieved review","error_code":null,"data":{"id":77,"service_record_id":150,"provider_id":20,"executor_id":25,"user_id":10,"rating":5,"liked_text":"Очень аккуратная работа и чистое рабочее место","disliked_text":"Немного долгое ожидание перед началом","comment":"В целом всё понравилось, результат отличный.","tags":["CLEANLINESS","PROFESSIONALISM"],"media_ids":[101,102],"created_at":"2026-04-28T10:30:00Z"}},"key":"ok","summary":"ok","id":"paths/~1api~1review~1{id}/get/responses/200/content/application~1json/examples/ok"},"paths/~1api~1review~1{id}/get/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Resource not found","codeError":"not_found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1review~1{id}/get/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1review~1{id}/patch/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1review~1{id}/patch/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1review~1{id}/patch/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1review~1{id}/patch/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1review~1{id}/patch/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1review~1{id}/patch/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1review~1{id}/patch/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1review~1{id}/patch/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1review~1{id}/patch/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1review~1{id}/patch/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1review~1{id}/patch/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Resource not found","codeError":"not_found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1review~1{id}/patch/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1review~1{id}/delete/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1review~1{id}/delete/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1review~1{id}/delete/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1review~1{id}/delete/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1review~1{id}/delete/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Resource not found","codeError":"not_found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1review~1{id}/delete/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1review~1record~1{id}~1eligibility/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1review~1record~1{id}~1eligibility/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1review~1record~1{id}~1eligibility/get/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1review~1record~1{id}~1eligibility/get/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1review~1record~1{id}~1eligibility/get/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Resource not found","codeError":"not_found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1review~1record~1{id}~1eligibility/get/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1blog/get/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Posts retrieved successfully","error_code":null,"data":[{"id":10,"text":"Новый образ","title":"Маникюр","master_id":5,"date":"2026-05-05","images":[101,102],"tag":"Маникюр"}]},"key":"ok","summary":"ok","id":"paths/~1api~1blog/get/responses/200/content/application~1json/examples/ok"},"paths/~1api~1blog/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1blog/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1blog/post/requestBody/content/application~1json/examples/example":{"value":{"text":"Новый образ","title":"Маникюр","images":[101,102],"tag":"Маникюр"},"key":"example","summary":"example","id":"paths/~1api~1blog/post/requestBody/content/application~1json/examples/example"},"paths/~1api~1blog/post/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Post successfully created","error_code":null,"data":{"id":10,"text":"Новый образ","title":"Маникюр","master_id":5,"date":"2026-05-05","images":[101,102],"tag":"Маникюр"}},"key":"ok","summary":"ok","id":"paths/~1api~1blog/post/responses/200/content/application~1json/examples/ok"},"paths/~1api~1blog/post/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1blog/post/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1blog/post/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1blog/post/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1blog/post/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1blog/post/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1blog/post/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1blog/post/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1blog/post/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1blog/post/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1blog~1{id}/get/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Post retrieved successfully","error_code":null,"data":{"id":10,"text":"Новый образ","title":"Маникюр","master_id":5,"date":"2026-05-05","images":[101,102],"tag":"Маникюр"}},"key":"ok","summary":"ok","id":"paths/~1api~1blog~1{id}/get/responses/200/content/application~1json/examples/ok"},"paths/~1api~1blog~1{id}/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1blog~1{id}/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1blog~1{id}/get/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Resource not found","codeError":"not_found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1blog~1{id}/get/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1blog~1{id}/patch/requestBody/content/application~1json/examples/changeText":{"value":{"text":"Свежая работа"},"key":"changeText","summary":"changeText","id":"paths/~1api~1blog~1{id}/patch/requestBody/content/application~1json/examples/changeText"},"paths/~1api~1blog~1{id}/patch/requestBody/content/application~1json/examples/replaceImages":{"value":{"images":[103,104]},"key":"replaceImages","summary":"replaceImages","id":"paths/~1api~1blog~1{id}/patch/requestBody/content/application~1json/examples/replaceImages"},"paths/~1api~1blog~1{id}/patch/requestBody/content/application~1json/examples/replaceTag":{"value":{"tag":"Дизайн"},"key":"replaceTag","summary":"replaceTag","id":"paths/~1api~1blog~1{id}/patch/requestBody/content/application~1json/examples/replaceTag"},"paths/~1api~1blog~1{id}/patch/responses/200/content/application~1json/examples/changed":{"value":{"success":true,"message":"Post updated successfully","error_code":null,"data":{"changed":true,"post":{"id":10,"text":"Свежая работа","title":"Маникюр","master_id":5,"date":"2026-05-05","images":[103,104],"tag":"Дизайн"}}},"key":"changed","summary":"changed","id":"paths/~1api~1blog~1{id}/patch/responses/200/content/application~1json/examples/changed"},"paths/~1api~1blog~1{id}/patch/responses/200/content/application~1json/examples/unchanged":{"value":{"success":true,"message":"No changes were made to the post","error_code":null,"data":{"changed":false,"post":{"id":10,"text":"Новый образ","title":"Маникюр","master_id":5,"date":"2026-05-05","images":[101,102],"tag":"Маникюр"}}},"key":"unchanged","summary":"unchanged","id":"paths/~1api~1blog~1{id}/patch/responses/200/content/application~1json/examples/unchanged"},"paths/~1api~1blog~1{id}/patch/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1blog~1{id}/patch/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1blog~1{id}/patch/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1blog~1{id}/patch/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1blog~1{id}/patch/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1blog~1{id}/patch/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1blog~1{id}/patch/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1blog~1{id}/patch/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1blog~1{id}/patch/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1blog~1{id}/patch/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1blog~1{id}/patch/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Resource not found","codeError":"not_found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1blog~1{id}/patch/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1blog~1{id}/delete/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Post deleted successfully","error_code":null,"data":null},"key":"ok","summary":"ok","id":"paths/~1api~1blog~1{id}/delete/responses/200/content/application~1json/examples/ok"},"paths/~1api~1blog~1{id}/delete/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1blog~1{id}/delete/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1blog~1{id}/delete/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1blog~1{id}/delete/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1blog~1{id}/delete/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1blog~1{id}/delete/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1blog~1{id}/delete/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1blog~1{id}/delete/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1blog~1{id}/delete/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1blog~1{id}/delete/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1blog~1{id}/delete/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Resource not found","codeError":"not_found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1blog~1{id}/delete/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1blog~1salon~1{salonId}/get/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Salon posts retrieved successfully","error_code":null,"data":[{"id":10,"text":"Новый образ","title":"Маникюр","master_id":5,"date":"2026-05-05","images":[101,102],"tag":"Маникюр"}]},"key":"ok","summary":"ok","id":"paths/~1api~1blog~1salon~1{salonId}/get/responses/200/content/application~1json/examples/ok"},"paths/~1api~1blog~1salon~1{salonId}/get/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1blog~1salon~1{salonId}/get/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1blog~1salon~1{salonId}/get/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1blog~1salon~1{salonId}/get/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1blog~1salon~1{salonId}/get/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1blog~1salon~1{salonId}/get/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1blog~1salon~1{salonId}/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1blog~1salon~1{salonId}/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1blog~1salon~1{salonId}/get/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Resource not found","codeError":"not_found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1blog~1salon~1{salonId}/get/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1blog~1master~1{userId}/get/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Posts retrieved successfully","error_code":null,"data":[{"id":10,"text":"Новый образ","title":"Маникюр","master_id":5,"date":"2026-05-05","images":[101,102],"tag":"Маникюр"}]},"key":"ok","summary":"ok","id":"paths/~1api~1blog~1master~1{userId}/get/responses/200/content/application~1json/examples/ok"},"paths/~1api~1blog~1master~1{userId}/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1blog~1master~1{userId}/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1favorites/get/responses/200/content/application~1json/examples/masters":{"value":{"success":true,"message":"Favorites retrieved successfully","error_code":null,"data":[{"id":101,"name":"Анна Петрова","skills":["Маникюр","Педикюр"],"experience":7,"review":{"count_review":12,"average_rating":4.75},"img":501}]},"key":"masters","summary":"masters","id":"paths/~1api~1favorites/get/responses/200/content/application~1json/examples/masters"},"paths/~1api~1favorites/get/responses/200/content/application~1json/examples/chats":{"value":{"success":true,"message":"Favorites retrieved successfully","error_code":null,"data":[{"id":20,"chat_interlocutor":{"id":15,"name":"Лариса Д.","avatar_id":700},"message_ids":[1010,1011],"last_message":{"id":1011,"text":"А сколько будет стоить сделать ногти?","at_create":"2026-05-22T09:41:00Z","from_id":15,"to_id":10,"image_ids":[],"audio_ids":[],"video_ids":[],"document_ids":[],"voice_id":null,"is_read":false},"unread_count":1,"is_online":true}]},"key":"chats","summary":"chats","id":"paths/~1api~1favorites/get/responses/200/content/application~1json/examples/chats"},"paths/~1api~1favorites/get/responses/200/content/application~1json/examples/empty":{"value":{"success":true,"message":"Favorites retrieved successfully","error_code":null,"data":[]},"key":"empty","summary":"empty","id":"paths/~1api~1favorites/get/responses/200/content/application~1json/examples/empty"},"paths/~1api~1favorites/get/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1favorites/get/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1favorites/get/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1favorites/get/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1favorites/get/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1favorites/get/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1favorites/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1favorites/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1favorites/post/requestBody/content/application~1json/examples/service":{"value":{"type_favorite":"SERVICE","source_id":30},"key":"service","summary":"service","id":"paths/~1api~1favorites/post/requestBody/content/application~1json/examples/service"},"paths/~1api~1favorites/post/requestBody/content/application~1json/examples/chat":{"value":{"type_favorite":"CHAT","source_id":20},"key":"chat","summary":"chat","id":"paths/~1api~1favorites/post/requestBody/content/application~1json/examples/chat"},"paths/~1api~1favorites/post/responses/201/content/application~1json/examples/ok":{"value":{"success":true,"message":"Favorite added successfully","error_code":null,"data":{"id":1,"type_favorite":"SERVICE","id_source":30,"user_id":10}},"key":"ok","summary":"ok","id":"paths/~1api~1favorites/post/responses/201/content/application~1json/examples/ok"},"paths/~1api~1favorites/post/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1favorites/post/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1favorites/post/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1favorites/post/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1favorites/post/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1favorites/post/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1favorites/post/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1favorites/post/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1favorites/post/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1favorites/post/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1favorites/post/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Resource not found","codeError":"not_found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1favorites/post/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1dialogs~1{id}/get/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Dialog received successfully","error_code":null,"data":{"id":10,"chat_interlocutor":{"id":2,"name":"Petr Petrov","avatar_id":202,"type":"MASTER"},"message_ids":[100,101,105],"last_message":{"id":105,"text":"Hello, World!","from":{"id":1,"type":"CLIENT","name":"John Doe","first_name":"John","last_name":"Doe","id_avatar_file":null},"to":{"id":2,"type":"MASTER","name":"Jane Smith","first_name":"Jane","last_name":"Smith","id_avatar_file":null},"audios":null,"images":null,"videos":null,"documents":null,"reactions":null,"reply":null,"voice":null,"at_create":null,"updated_at":null,"request":null,"service_message":null},"unread_count":2,"is_online":true}},"key":"ok","summary":"ok","id":"paths/~1api~1dialogs~1{id}/get/responses/200/content/application~1json/examples/ok"},"paths/~1api~1dialogs~1{id}/get/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1dialogs~1{id}/get/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1dialogs~1{id}/get/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Resource not found","codeError":"not_found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1dialogs~1{id}/get/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1dialogs~1user/get/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Dialogs received successfully","error_code":null,"data":[{"id":9,"chat_interlocutor":{"id":-1,"name":"Служба заботы Felmee","avatar_id":null,"type":"SUPPORT"},"participants":[1,-1],"last_message":null,"unread_count":0,"unread_reactions":[],"is_online":false},{"id":10,"chat_interlocutor":{"id":2,"name":"Jane Smith","avatar_id":null,"type":"MASTER"},"participants":[1,2],"last_message":{"id":105,"text":"Hello, World!","from":{"id":2,"type":"MASTER","name":"Jane Smith","first_name":"Jane","last_name":"Smith","id_avatar_file":null},"to":{"id":1,"type":"CLIENT","name":"John Doe","first_name":"John","last_name":"Doe","id_avatar_file":null},"audios":null,"images":null,"videos":null,"documents":null,"reactions":null,"reply":null,"voice":null,"at_create":null,"updated_at":null,"request":null,"service_message":null},"unread_count":1,"unread_reactions":[{"message_id":101,"reaction_type":"FIRE"}],"is_online":true},{"id":11,"chat_interlocutor":{"id":5,"name":"Salon Name","avatar_id":null,"type":"SALON"},"participants":[1,5],"last_message":null,"unread_count":0,"unread_reactions":[],"is_online":false}]},"key":"ok","summary":"ok","id":"paths/~1api~1dialogs~1user/get/responses/200/content/application~1json/examples/ok"},"paths/~1api~1dialogs~1user/get/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1dialogs~1user/get/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1dialogs~1salon/get/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Salon dialogs received successfully","error_code":null,"data":[{"id":9,"chat_interlocutor":{"id":-1,"name":"Служба заботы Felmee","avatar_id":null,"type":"SUPPORT"},"participants":[5,-1],"last_message":null,"unread_count":0,"unread_reactions":[],"is_online":false},{"id":11,"chat_interlocutor":{"id":42,"name":"Jane Smith","avatar_id":null,"type":"CLIENT"},"participants":[42,5],"last_message":{"id":105,"text":"Здравствуйте, хочу записаться","from":{"id":42,"type":"CLIENT","name":"Jane Smith","first_name":"Jane","last_name":"Smith","id_avatar_file":null},"to":{"id":15,"type":"SALON","name":"Beauty Salon","first_name":"Beauty Salon","last_name":null,"id_avatar_file":null},"audios":null,"images":null,"videos":null,"documents":null,"reactions":null,"reply":null,"voice":null,"at_create":null,"updated_at":null,"request":null,"service_message":null},"unread_count":1,"unread_reactions":[{"message_id":104,"reaction_type":"LOVE"}],"is_online":true}]},"key":"ok","summary":"ok","id":"paths/~1api~1dialogs~1salon/get/responses/200/content/application~1json/examples/ok"},"paths/~1api~1dialogs~1salon/get/responses/200/content/application~1json/examples/empty":{"value":{"success":true,"message":"Salon dialogs received successfully","error_code":null,"data":[]},"key":"empty","summary":"empty","id":"paths/~1api~1dialogs~1salon/get/responses/200/content/application~1json/examples/empty"},"paths/~1api~1dialogs~1salon/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1dialogs~1salon/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1dialogs~1salon/get/responses/403/content/application~1json/examples/not_salon_member":{"value":{"success":false,"message":"Only salon owner or salon admin can view salon dialogs","error_code":"forbidden","data":null},"key":"not_salon_member","summary":"not_salon_member","id":"paths/~1api~1dialogs~1salon/get/responses/403/content/application~1json/examples/not_salon_member"},"paths/~1api~1dialogs~1salon/get/responses/403/content/application~1json/examples/salon_permission_denied":{"value":{"success":false,"message":"Salon member permission denied","error_code":"salon_permission_denied","data":null},"key":"salon_permission_denied","summary":"salon_permission_denied","id":"paths/~1api~1dialogs~1salon/get/responses/403/content/application~1json/examples/salon_permission_denied"},"paths/~1api~1support~1messages~1send/post/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1support~1messages~1send/post/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1support~1messages~1send/post/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1support~1messages~1send/post/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1support~1messages~1send/post/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1support~1messages~1send/post/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1support~1messages~1send/post/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1support~1messages~1send/post/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1support~1messages~1send/post/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1support~1messages~1send/post/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1support~1messages~1send/post/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Resource not found","codeError":"not_found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1support~1messages~1send/post/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1support~1chat~1resolution-response/post/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1support~1chat~1resolution-response/post/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1support~1chat~1resolution-response/post/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1support~1chat~1resolution-response/post/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1support~1chat~1resolution-response/post/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1support~1chat~1resolution-response/post/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1support~1chat~1resolution-response/post/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1support~1chat~1resolution-response/post/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1support~1chat~1resolution-response/post/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1support~1chat~1resolution-response/post/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1support~1chat~1resolution-response/post/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Resource not found","codeError":"not_found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1support~1chat~1resolution-response/post/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1support~1chat~1resolution-response/post/responses/409/content/application~1json/examples/conflict":{"value":{"success":false,"message":"Request conflicts with the current resource state","codeError":"conflict","error_code":"conflict","data":null},"key":"conflict","summary":"conflict","id":"paths/~1api~1support~1chat~1resolution-response/post/responses/409/content/application~1json/examples/conflict"},"paths/~1api~1messages~1send/post/requestBody/content/application~1json/examples/sendToDialog":{"value":{"dialog_id":10,"reply_message_id":99,"text":"Hello","files":[60]},"key":"sendToDialog","summary":"sendToDialog","id":"paths/~1api~1messages~1send/post/requestBody/content/application~1json/examples/sendToDialog"},"paths/~1api~1messages~1send/post/requestBody/content/application~1json/examples/sendToUser":{"value":{"receiver_id":2,"text":"Hi"},"key":"sendToUser","summary":"sendToUser","id":"paths/~1api~1messages~1send/post/requestBody/content/application~1json/examples/sendToUser"},"paths/~1api~1messages~1send/post/responses/201/content/application~1json/examples/ok":{"value":{"success":true,"message":"Messages sent successfully","error_code":null,"data":{"id_messages":[100]}},"key":"ok","summary":"ok","id":"paths/~1api~1messages~1send/post/responses/201/content/application~1json/examples/ok"},"paths/~1api~1messages~1send/post/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1messages~1send/post/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1messages~1send/post/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1messages~1send/post/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1messages~1send/post/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1messages~1send/post/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1messages~1send/post/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1messages~1send/post/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1messages~1send/post/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Resource not found","codeError":"not_found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1messages~1send/post/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1messages/get/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Messages received successfully","error_code":null,"data":{"messages":[{"id":100,"text":"Hello, World!","from":{"id":1,"type":"CLIENT","name":"John Doe","first_name":"John","last_name":"Doe","id_avatar_file":null},"to":{"id":2,"type":"MASTER","name":"Jane Smith","first_name":"Jane","last_name":"Smith","id_avatar_file":null},"audios":null,"images":null,"videos":null,"documents":null,"reactions":[{"user_id":3,"reaction_type":"LIKE"},{"user_id":5,"reaction_type":"FIRE"}],"reply":{"id":99,"from":{"id":2,"type":"MASTER","name":"Jane Smith","first_name":"Jane","last_name":"Smith","id_avatar_file":null},"text":"Previous message"},"voice":null,"at_create":null,"updated_at":null,"request":null,"service_message":null}]}},"key":"ok","summary":"ok","id":"paths/~1api~1messages/get/responses/200/content/application~1json/examples/ok"},"paths/~1api~1messages/get/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1messages/get/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1messages/get/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1messages/get/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1messages/get/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1messages/get/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1messages/get/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1messages/get/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1messages/get/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1messages/get/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1messages/get/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Resource not found","codeError":"not_found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1messages/get/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1messages~1reactions~1read/post/requestBody/content/application~1json/example":{"value":{"message_ids":[123,321,246,215,535]},"id":"paths/~1api~1messages~1reactions~1read/post/requestBody/content/application~1json/example"},"paths/~1api~1messages~1reactions~1read/post/responses/200/content/application~1json/example":{"value":{"success":true,"message":"Reactions marked as read","codeError":null,"error_code":null,"data":{"message_ids":[123,246]}},"id":"paths/~1api~1messages~1reactions~1read/post/responses/200/content/application~1json/example"},"paths/~1api~1messages~1reactions~1read/post/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1messages~1reactions~1read/post/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1messages~1reactions~1read/post/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1messages~1reactions~1read/post/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1messages~1reactions~1read/post/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1messages~1reactions~1read/post/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1messages~1reactions~1read/post/responses/401/content/application~1json/examples/unauthorized":{"value":{"success":false,"message":"Unauthorized","codeError":"unauthorized","error_code":"unauthorized","data":null},"key":"unauthorized","summary":"unauthorized","id":"paths/~1api~1messages~1reactions~1read/post/responses/401/content/application~1json/examples/unauthorized"},"paths/~1api~1messages~1reactions~1read/post/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1messages~1reactions~1read/post/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1messages~1reactions~1read/post/responses/500/content/application~1json/example":{"value":{"success":false,"message":"Internal server error","codeError":"internal_error","error_code":"internal_error","data":null},"id":"paths/~1api~1messages~1reactions~1read/post/responses/500/content/application~1json/example"},"paths/~1api~1messages~1{id}/get/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Message received successfully","error_code":null,"data":{"id":100,"text":"Hello, World!","from":{"id":1,"type":"CLIENT","name":"John Doe","first_name":"John","last_name":"Doe","id_avatar_file":null},"to":{"id":2,"type":"MASTER","name":"Jane Smith","first_name":"Jane","last_name":"Smith","id_avatar_file":null},"audios":null,"images":null,"videos":null,"documents":null,"reactions":[{"user_id":3,"reaction_type":"LIKE"},{"user_id":5,"reaction_type":"FIRE"}],"reply":{"id":99,"from":{"id":2,"type":"MASTER","name":"Jane Smith","first_name":"Jane","last_name":"Smith","id_avatar_file":null},"text":"Previous message"},"voice":null,"at_create":null,"updated_at":null}},"key":"ok","summary":"ok","id":"paths/~1api~1messages~1{id}/get/responses/200/content/application~1json/examples/ok"},"paths/~1api~1messages~1{id}/get/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1messages~1{id}/get/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1messages~1{id}/get/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1messages~1{id}/get/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1messages~1{id}/get/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1messages~1{id}/get/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1messages~1{id}/get/responses/403/content/application~1json/examples/forbidden":{"value":{"success":false,"message":"Access denied","codeError":"forbidden","error_code":"forbidden","data":null},"key":"forbidden","summary":"forbidden","id":"paths/~1api~1messages~1{id}/get/responses/403/content/application~1json/examples/forbidden"},"paths/~1api~1messages~1{id}/get/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Resource not found","codeError":"not_found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1messages~1{id}/get/responses/404/content/application~1json/examples/not_found"},"paths/~1app~1chat.send/post/requestBody/content/application~1json/examples/sendToDialog":{"value":{"dialog_id":10,"reply_message_id":99,"text":"Hello","files":[60]},"key":"sendToDialog","summary":"sendToDialog","id":"paths/~1app~1chat.send/post/requestBody/content/application~1json/examples/sendToDialog"},"paths/~1app~1chat.send/post/requestBody/content/application~1json/examples/sendToUser":{"value":{"receiver_id":2,"text":"Hi"},"key":"sendToUser","summary":"sendToUser","id":"paths/~1app~1chat.send/post/requestBody/content/application~1json/examples/sendToUser"},"paths/~1app~1chat.send/post/responses/200/content/application~1json/examples/delivered":{"value":{"dialog_id":10,"messages":[{"id":100,"text":"Hello","from":{"id":1,"type":"CLIENT","name":"John Doe","first_name":"John","last_name":"Doe","id_avatar_file":null},"to":{"id":2,"type":"MASTER","name":"Jane Smith","first_name":"Jane","last_name":"Smith","id_avatar_file":null},"audios":null,"images":null,"videos":null,"documents":null,"reactions":null,"reply":{"id":99,"from":{"id":2,"type":"MASTER","name":"Jane Smith","first_name":"Jane","last_name":"Smith","id_avatar_file":null},"text":"Previous message"},"voice":null,"at_create":null,"updated_at":null,"request":null,"service_message":null}]},"key":"delivered","summary":"delivered","id":"paths/~1app~1chat.send/post/responses/200/content/application~1json/examples/delivered"},"paths/~1app~1chat.salon.send/post/requestBody/content/application~1json/examples/sendToSalon":{"value":{"salon_id":15,"reply_message_id":99,"text":"Здравствуйте","files":[60]},"key":"sendToSalon","summary":"sendToSalon","id":"paths/~1app~1chat.salon.send/post/requestBody/content/application~1json/examples/sendToSalon"},"paths/~1app~1chat.read/post/requestBody/content/application~1json/examples/example":{"value":{"dialog_id":10,"last_read_message_id":105},"key":"example","summary":"example","id":"paths/~1app~1chat.read/post/requestBody/content/application~1json/examples/example"},"paths/~1app~1chat.read/post/responses/200/content/application~1json/examples/read":{"value":{"dialog_id":10,"last_read_message_id":105},"key":"read","summary":"read","id":"paths/~1app~1chat.read/post/responses/200/content/application~1json/examples/read"},"paths/~1app~1chat.reaction/post/requestBody/content/application~1json/examples/putReaction":{"value":{"message_id":100,"reaction_type":"LIKE"},"key":"putReaction","summary":"putReaction","id":"paths/~1app~1chat.reaction/post/requestBody/content/application~1json/examples/putReaction"},"paths/~1app~1chat.reaction/post/requestBody/content/application~1json/examples/removeReaction":{"value":{"message_id":100,"reaction_type":null},"key":"removeReaction","summary":"removeReaction","id":"paths/~1app~1chat.reaction/post/requestBody/content/application~1json/examples/removeReaction"},"paths/~1app~1chat.reaction/post/responses/200/content/application~1json/examples/reaction":{"value":{"dialog_id":15,"message_id":100,"user_id":1,"reaction_type":"LIKE"},"key":"reaction","summary":"reaction","id":"paths/~1app~1chat.reaction/post/responses/200/content/application~1json/examples/reaction"},"paths/~1user~1queue~1chat.new_message/get/responses/200/content/application~1json/examples/with_request":{"value":{"dialog_id":10,"messages":[{"id":100,"text":null,"from":{"id":1,"type":"CLIENT","name":"John Doe","first_name":"John","last_name":"Doe","id_avatar_file":null},"to":{"id":2,"type":"MASTER","name":"Jane Smith","first_name":"Jane","last_name":"Smith","id_avatar_file":null},"at_create":"2026-04-10T15:00:00","updated_at":null,"request":{"id":1000,"source_request_id":11,"action":"RESCHEDULE","buttons":[{"name":"Согласиться","action":"APPROVE"},{"name":"Отказаться","action":"REJECT"}],"expires_at":"2026-04-11T15:00:00Z","payload":{"new_start":"2026-08-01T16:00:00Z","service_name":"Маникюр","record_id":15},"status_request":"WAITING_APPROVE"},"service_message":null}]},"key":"with_request","summary":"with_request","id":"paths/~1user~1queue~1chat.new_message/get/responses/200/content/application~1json/examples/with_request"},"paths/~1user~1queue~1chat.new_message/get/responses/200/content/application~1json/examples/with_create_record_request":{"value":{"dialog_id":10,"messages":[{"id":102,"text":null,"from":{"id":1,"type":"CLIENT","name":"John Doe","first_name":"John","last_name":"Doe","id_avatar_file":null},"to":{"id":2,"type":"MASTER","name":"Jane Smith","first_name":"Jane","last_name":"Smith","id_avatar_file":null},"at_create":"2026-05-15T08:42:00","updated_at":null,"request":{"id":1001,"source_request_id":21,"action":"CREATE_RECORD","buttons":[{"name":"Согласиться","action":"APPROVE"},{"name":"Отказаться","action":"REJECT"}],"expires_at":"2026-05-16T08:42:00Z","payload":{"service_id":501,"price":1200},"status_request":"WAITING_APPROVE"},"service_message":null}]},"key":"with_create_record_request","summary":"with_create_record_request","id":"paths/~1user~1queue~1chat.new_message/get/responses/200/content/application~1json/examples/with_create_record_request"},"paths/~1user~1queue~1chat.new_message/get/responses/200/content/application~1json/examples/with_surcharge_request":{"value":{"dialog_id":10,"messages":[{"id":103,"text":null,"from":{"id":1,"type":"CLIENT","name":"John Doe","first_name":"John","last_name":"Doe","id_avatar_file":null},"to":{"id":2,"type":"MASTER","name":"Jane Smith","first_name":"Jane","last_name":"Smith","id_avatar_file":null},"at_create":"2026-05-18T10:37:00","updated_at":null,"request":{"id":1002,"source_request_id":31,"action":"SURCHARGE","buttons":[{"name":"Оплатить","action":"PAY"},{"name":"Отказаться","action":"REJECT"}],"expires_at":"2026-05-19T07:37:00Z","payload":{"service_id":501,"sum":1500,"reason":"Доплата за дополнительные материалы"},"status_request":"WAITING_APPROVE"},"service_message":null}]},"key":"with_surcharge_request","summary":"with_surcharge_request","id":"paths/~1user~1queue~1chat.new_message/get/responses/200/content/application~1json/examples/with_surcharge_request"},"paths/~1user~1queue~1chat.new_message/get/responses/200/content/application~1json/examples/with_cancel_record_service_message":{"value":{"dialog_id":10,"messages":[{"id":101,"text":null,"from":{"id":2,"type":"MASTER","name":"Jane Smith","first_name":"Jane","last_name":"Smith","id_avatar_file":null},"to":{"id":1,"type":"CLIENT","name":"John Doe","first_name":"John","last_name":"Doe","id_avatar_file":null},"at_create":"2026-04-10T15:05:00","updated_at":null,"request":null,"service_message":{"type":"CANCEL_RECORD","payload":{"record_id":15,"canceler_id":2,"sender_role":"MASTER"}}}]},"key":"with_cancel_record_service_message","summary":"with_cancel_record_service_message","id":"paths/~1user~1queue~1chat.new_message/get/responses/200/content/application~1json/examples/with_cancel_record_service_message"},"paths/~1user~1queue~1chat.new_message/get/responses/200/content/application~1json/examples/with_surcharge_result_service_message":{"value":{"dialog_id":10,"messages":[{"id":104,"text":null,"from":{"id":2,"type":"MASTER","name":"Jane Smith","first_name":"Jane","last_name":"Smith","id_avatar_file":null},"to":{"id":1,"type":"CLIENT","name":"John Doe","first_name":"John","last_name":"Doe","id_avatar_file":null},"at_create":"2026-05-18T10:38:00","updated_at":null,"request":null,"service_message":{"type":"RESULT_SURCHARGE_REQUEST","payload":{"status":"REJECTED","reject_reason":"Не согласен с доплатой"}}}]},"key":"with_surcharge_result_service_message","summary":"with_surcharge_result_service_message","id":"paths/~1user~1queue~1chat.new_message/get/responses/200/content/application~1json/examples/with_surcharge_result_service_message"},"paths/~1user~1queue~1chat.update_status_request/get/responses/200/content/application~1json/examples/approved":{"value":{"dialog_id":10,"message_id":100,"new_status":"APPROVED"},"key":"approved","summary":"approved","id":"paths/~1user~1queue~1chat.update_status_request/get/responses/200/content/application~1json/examples/approved"},"paths/~1user~1queue~1chat.user_online_status/get/responses/200/content/application~1json/examples/online":{"value":{"user_id":2,"dialog_id":10,"is_online":true},"key":"online","summary":"online","id":"paths/~1user~1queue~1chat.user_online_status/get/responses/200/content/application~1json/examples/online"},"paths/~1user~1queue~1chat.user_online_status/get/responses/200/content/application~1json/examples/offline":{"value":{"user_id":2,"dialog_id":10,"is_online":false},"key":"offline","summary":"offline","id":"paths/~1user~1queue~1chat.user_online_status/get/responses/200/content/application~1json/examples/offline"},"paths/~1api~1reference-data~1hints~1{code}/get/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Reference hint retrieved successfully","codeError":null,"error_code":null,"data":{"id":1,"code":"cancellation_conditions","text":"Условия отмены:\n12 ч: отмена/перенос бесплатно\n\n12 ч: удерживается 50%\nпри отмене\n\nНеявка: оплата не возвращается"}},"key":"ok","summary":"ok","id":"paths/~1api~1reference-data~1hints~1{code}/get/responses/200/content/application~1json/examples/ok"},"paths/~1api~1reference-data~1hints~1{code}/get/responses/400/content/application~1json/examples/invalid_body":{"value":{"success":false,"message":"Request validation failed","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body","summary":"invalid_body","id":"paths/~1api~1reference-data~1hints~1{code}/get/responses/400/content/application~1json/examples/invalid_body"},"paths/~1api~1reference-data~1hints~1{code}/get/responses/400/content/application~1json/examples/invalid_body_validation":{"value":{"success":false,"message":"Required field is missing or invalid","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"invalid_body_validation","summary":"invalid_body_validation","id":"paths/~1api~1reference-data~1hints~1{code}/get/responses/400/content/application~1json/examples/invalid_body_validation"},"paths/~1api~1reference-data~1hints~1{code}/get/responses/400/content/application~1json/examples/unsupported_enum":{"value":{"success":false,"message":"Invalid request body","codeError":"invalid_body","error_code":"invalid_body","data":null},"key":"unsupported_enum","summary":"unsupported_enum","id":"paths/~1api~1reference-data~1hints~1{code}/get/responses/400/content/application~1json/examples/unsupported_enum"},"paths/~1api~1reference-data~1hints~1{code}/get/responses/404/content/application~1json/examples/not_found":{"value":{"success":false,"message":"Resource not found","codeError":"not_found","error_code":"not_found","data":null},"key":"not_found","summary":"not_found","id":"paths/~1api~1reference-data~1hints~1{code}/get/responses/404/content/application~1json/examples/not_found"},"paths/~1api~1reference-data~1lists~1complaint-reasons/get/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Reference list retrieved successfully","codeError":null,"error_code":null,"data":["Передача личных контактов","Option","Option","Option","Option"]},"key":"ok","summary":"ok","id":"paths/~1api~1reference-data~1lists~1complaint-reasons/get/responses/200/content/application~1json/examples/ok"},"paths/~1api~1reference-data~1lists~1account-deletion-reasons/get/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Reference list retrieved successfully","codeError":null,"error_code":null,"data":["Не пользуюсь приложением","Не нашёл(а) подходящих мастеров","Неудобно пользоваться приложением","Предпочитаю записываться напрямую","Проблемы с записью или оплатой"]},"key":"ok","summary":"ok","id":"paths/~1api~1reference-data~1lists~1account-deletion-reasons/get/responses/200/content/application~1json/examples/ok"},"paths/~1api~1reference-data~1lists~1record-cancellation-reasons/get/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Reference list retrieved successfully","codeError":null,"error_code":null,"data":["Не могу принять в это время","Изменилось расписание","Форс-мажор","Обучение/курсы","Проблема с услугой"]},"key":"ok","summary":"ok","id":"paths/~1api~1reference-data~1lists~1record-cancellation-reasons/get/responses/200/content/application~1json/examples/ok"},"paths/~1api~1reference-data~1lists~1surcharge-rejection-reasons/get/responses/200/content/application~1json/examples/ok":{"value":{"success":true,"message":"Reference list retrieved successfully","codeError":null,"error_code":null,"data":["Мастер не предупредил о доплате до начала процедуры","Доплата возникла уже после завершения процедуры","Не понимаю, за что именно доплата","Я не давал(а) согласие на дополнительные услуги","Ожидал(а), что это входит в базовую стоимость","Не устроило качество услуги"]},"key":"ok","summary":"ok","id":"paths/~1api~1reference-data~1lists~1surcharge-rejection-reasons/get/responses/200/content/application~1json/examples/ok"}},"securitySchemeStore":{"bearerAuth":{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization: Bearer ${JWT}"},"children":[]}]}]}]},"jwtCookie":{"id":"jwtCookie","type":"apiKey","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: JWT=${token}"},"children":[]}]}]}],"in":"cookie","paramName":"JWT"},"refreshTokenHeader":{"id":"refreshTokenHeader","type":"apiKey","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"RT: Bearer <refresh_token>"},"children":[]}]}]}],"in":"header","paramName":"RT"},"refreshTokenCookie":{"id":"refreshTokenCookie","type":"apiKey","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cookie: RT=<refresh_token>"},"children":[]}]}]}],"in":"cookie","paramName":"RT"}},"servers":[{"url":"https://felmee.com"},{"url":"http://localhost:8080"}],"specType":"openapi"},"options":{"mockServer":{"off":true},"disableRouter":true,"downloadUrls":[{"url":"/_bundle/OPENAPI.json?download"},{"url":"/_bundle/OPENAPI.yaml?download"}],"excludeFromSearch":false,"replayFeatures":{"graphql":false},"specType":"openapi","markdocOptions":{"tags":{},"nodes":{},"components":{}},"metadata":{"title":"Внутреннее API Felmee","description":"## Общий формат ответа\n\nВсе REST-эндпоинты возвращают ответ в едином формате:\n\n```json\n{\n  \"success\": true,\n  \"message\": \"...\",\n\n  \"codeError\": null,\n  \"error_code\": null,\n  \"data\": {}  }\n```\n\nГде:\n- `success` - флаг успешного выполнения запроса\n- `message` - человекочитаемое описание результата\n- `codeError` - legacy-alias поля `error_code`; при ошибке содержит тот же код, при успехе `null`\n- `error_code` - машинный код ошибки; для успешных ответов всегда `null`\n- `data` - полезная нагрузка; может быть объектом, массивом или `null`\n\n## Возможные значения `error_code`\n\n- `invalid_body` - тело запроса не прошло валидацию или нарушает бизнес-правила\n- `unauthorized` - отсутствует или невалиден JWT / refresh token\n- `not_found` - ресурс не найден\n- `conflict` - запрос корректен по форме, но конфликтует с текущим состоянием ресурса\n- `object_modified_by_another_thread` - объект был изменён другой параллельной операцией; клиент должен перечитать актуальное состояние и повторить запрос\n- `action_too_late` - действие запрещено по бизнес-правилу минимального времени до начала события\n- `too_many_request` - превышен лимит запросов\n- `code_is_gone` - одноразовый код истёк или больше не действителен\n- `forbidden` - у пользователя нет доступа к ресурсу\n- `salon_permission_denied` - у участника салона нет permission для запрошенного endpoint\n- `geocoding_failed` - адрес услуги или мастера передан, но backend не смог получить для него координаты\n- `address_suggestions_failed` - backend не смог получить подсказки адресов от внешнего сервиса\n- `invalid_captcha` - captcha отсутствует, невалидна или не прошла проверку\n"}},"baseSlug":"/openapi","routesMapping":{}}