From a5a7eb311931d43ca1da7005d79e7c7005439948 Mon Sep 17 00:00:00 2001 From: SEAN Date: Mon, 2 Mar 2026 16:16:47 +0900 Subject: [PATCH] =?UTF-8?q?chore:=20swagger.json=20TagCode=20=EB=B3=80?= =?UTF-8?q?=EA=B2=BD=20=EB=B0=98=EC=98=81=20(#269)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- swagger.json | 7907 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 7907 insertions(+) create mode 100644 swagger.json diff --git a/swagger.json b/swagger.json new file mode 100644 index 0000000..979e1ab --- /dev/null +++ b/swagger.json @@ -0,0 +1,7907 @@ +{ + "openapi": "3.0.1", + "info": { + "title": "SPMS API - \uc804\uccb4", + "description": "Stein Push Message Service API", + "version": "v1" + }, + "paths": { + "/v1/in/account/create": { + "post": { + "tags": [ + "Account" + ], + "summary": "\uc6b4\uc601\uc790 \uacc4\uc815 \uc0dd\uc131", + "description": "Super Admin\uc774 \uc0c8\ub85c\uc6b4 \uc6b4\uc601\uc790(Manager/User) \uacc4\uc815\uc744 \uc0dd\uc131\ud569\ub2c8\ub2e4.", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateAccountRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/CreateAccountRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/CreateAccountRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "\uc0dd\uc131 \uc131\uacf5", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/AccountResponseDtoApiResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/AccountResponseDtoApiResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/AccountResponseDtoApiResponse" + } + } + } + }, + "400": { + "description": "\uc798\ubabb\ub41c \uc694\uccad" + }, + "401": { + "description": "\uc778\uc99d\ub418\uc9c0 \uc54a\uc740 \uc694\uccad" + }, + "403": { + "description": "\uad8c\ud55c \uc5c6\uc74c" + }, + "409": { + "description": "\uc774\uba54\uc77c \uc911\ubcf5" + } + } + } + }, + "/v1/in/account/list": { + "post": { + "tags": [ + "Account" + ], + "summary": "\uc6b4\uc601\uc790 \ubaa9\ub85d \uc870\ud68c", + "description": "Super Admin\uc774 \uc6b4\uc601\uc790(Manager/User) \ubaa9\ub85d\uc744 \uc870\ud68c\ud569\ub2c8\ub2e4. Super Admin\uc740 \ubaa9\ub85d\uc5d0 \ud3ec\ud568\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AccountListRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/AccountListRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/AccountListRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "\uc870\ud68c \uc131\uacf5", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/AccountListResponseDtoApiResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/AccountListResponseDtoApiResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/AccountListResponseDtoApiResponse" + } + } + } + }, + "401": { + "description": "\uc778\uc99d\ub418\uc9c0 \uc54a\uc740 \uc694\uccad" + }, + "403": { + "description": "\uad8c\ud55c \uc5c6\uc74c" + } + } + } + }, + "/v1/in/account/{adminCode}": { + "post": { + "tags": [ + "Account" + ], + "summary": "\uc6b4\uc601\uc790 \uc0c1\uc138 \uc870\ud68c", + "description": "Super Admin\uc774 \ud2b9\uc815 \uc6b4\uc601\uc790\uc758 \uc0c1\uc138 \uc815\ubcf4\ub97c \uc870\ud68c\ud569\ub2c8\ub2e4.", + "parameters": [ + { + "name": "adminCode", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "\uc870\ud68c \uc131\uacf5", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/AccountResponseDtoApiResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/AccountResponseDtoApiResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/AccountResponseDtoApiResponse" + } + } + } + }, + "401": { + "description": "\uc778\uc99d\ub418\uc9c0 \uc54a\uc740 \uc694\uccad" + }, + "403": { + "description": "\uad8c\ud55c \uc5c6\uc74c" + }, + "404": { + "description": "\uc6b4\uc601\uc790\ub97c \ucc3e\uc744 \uc218 \uc5c6\uc74c" + } + } + } + }, + "/v1/in/account/{adminCode}/update": { + "post": { + "tags": [ + "Account" + ], + "summary": "\uc6b4\uc601\uc790 \uc815\ubcf4 \uc218\uc815", + "description": "Super Admin\uc774 \uc6b4\uc601\uc790\uc758 \uc815\ubcf4(\uc774\ub984, \uc804\ud654\ubc88\ud638, \uad8c\ud55c)\ub97c \uc218\uc815\ud569\ub2c8\ub2e4.", + "parameters": [ + { + "name": "adminCode", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateAccountRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/UpdateAccountRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/UpdateAccountRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "\uc218\uc815 \uc131\uacf5", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/AccountResponseDtoApiResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/AccountResponseDtoApiResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/AccountResponseDtoApiResponse" + } + } + } + }, + "400": { + "description": "\uc798\ubabb\ub41c \uc694\uccad" + }, + "401": { + "description": "\uc778\uc99d\ub418\uc9c0 \uc54a\uc740 \uc694\uccad" + }, + "403": { + "description": "\uad8c\ud55c \uc5c6\uc74c" + }, + "404": { + "description": "\uc6b4\uc601\uc790\ub97c \ucc3e\uc744 \uc218 \uc5c6\uc74c" + } + } + } + }, + "/v1/in/account/{adminCode}/delete": { + "post": { + "tags": [ + "Account" + ], + "summary": "\uc6b4\uc601\uc790 \uacc4\uc815 \uc0ad\uc81c", + "description": "Super Admin\uc774 \uc6b4\uc601\uc790 \uacc4\uc815\uc744 \uc0ad\uc81c\ud569\ub2c8\ub2e4. (Soft Delete)", + "parameters": [ + { + "name": "adminCode", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "\uc0ad\uc81c \uc131\uacf5" + }, + "401": { + "description": "\uc778\uc99d\ub418\uc9c0 \uc54a\uc740 \uc694\uccad" + }, + "403": { + "description": "\uad8c\ud55c \uc5c6\uc74c" + }, + "404": { + "description": "\uc6b4\uc601\uc790\ub97c \ucc3e\uc744 \uc218 \uc5c6\uc74c" + } + } + } + }, + "/v1/in/account/operator/create": { + "post": { + "tags": [ + "Account" + ], + "summary": "\uc6b4\uc601\uc790 \uacc4\uc815 \uc0dd\uc131 (\uc774\uba54\uc77c \ub9c1\ud06c)", + "description": "Super Admin\uc774 \uc6b4\uc601\uc790 \uacc4\uc815\uc744 \uc0dd\uc131\ud569\ub2c8\ub2e4. \ube44\ubc00\ubc88\ud638 \uc124\uc815 \uc774\uba54\uc77c\uc774 \ubc1c\uc1a1\ub429\ub2c8\ub2e4.", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/OperatorCreateRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/OperatorCreateRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/OperatorCreateRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "\uc0dd\uc131 \uc131\uacf5", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/OperatorCreateResponseDtoApiResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OperatorCreateResponseDtoApiResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/OperatorCreateResponseDtoApiResponse" + } + } + } + }, + "400": { + "description": "\uc798\ubabb\ub41c \uc694\uccad" + }, + "401": { + "description": "\uc778\uc99d\ub418\uc9c0 \uc54a\uc740 \uc694\uccad" + }, + "403": { + "description": "\uad8c\ud55c \uc5c6\uc74c" + }, + "409": { + "description": "\uc774\uba54\uc77c \uc911\ubcf5" + } + } + } + }, + "/v1/in/account/operator/delete": { + "post": { + "tags": [ + "Account" + ], + "summary": "\uc6b4\uc601\uc790 \uacc4\uc815 \uc0ad\uc81c", + "description": "Super Admin\uc774 \uc6b4\uc601\uc790 \uacc4\uc815\uc744 \uc0ad\uc81c\ud569\ub2c8\ub2e4. (Soft Delete) \uc790\uae30 \uc790\uc2e0\uc740 \uc0ad\uc81c\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/OperatorDeleteRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/OperatorDeleteRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/OperatorDeleteRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "\uc0ad\uc81c \uc131\uacf5" + }, + "401": { + "description": "\uc778\uc99d\ub418\uc9c0 \uc54a\uc740 \uc694\uccad" + }, + "403": { + "description": "\uad8c\ud55c \uc5c6\uc74c / \uc790\uae30 \uc790\uc2e0 \uc0ad\uc81c \ubd88\uac00" + }, + "404": { + "description": "\uc6b4\uc601\uc790\ub97c \ucc3e\uc744 \uc218 \uc5c6\uc74c" + } + } + } + }, + "/v1/in/account/operator/list": { + "post": { + "tags": [ + "Account" + ], + "summary": "\uc6b4\uc601\uc790 \ubaa9\ub85d \uc870\ud68c", + "description": "Super Admin\uc774 \uc6b4\uc601\uc790(Manager/User) \ubaa9\ub85d\uc744 \uc870\ud68c\ud569\ub2c8\ub2e4. is_active \ud544\ud130\ub85c \ube44\ud65c\uc131 \uc6b4\uc601\uc790\ub3c4 \uc870\ud68c \uac00\ub2a5\ud569\ub2c8\ub2e4.", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/OperatorListRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/OperatorListRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/OperatorListRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "\uc870\ud68c \uc131\uacf5", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/OperatorListResponseDtoApiResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OperatorListResponseDtoApiResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/OperatorListResponseDtoApiResponse" + } + } + } + }, + "401": { + "description": "\uc778\uc99d\ub418\uc9c0 \uc54a\uc740 \uc694\uccad" + }, + "403": { + "description": "\uad8c\ud55c \uc5c6\uc74c" + } + } + } + }, + "/v1/in/account/operator/password/reset": { + "post": { + "tags": [ + "Account" + ], + "summary": "\uc6b4\uc601\uc790 \ube44\ubc00\ubc88\ud638 \ucd08\uae30\ud654", + "description": "Super Admin\uc774 \uc6b4\uc601\uc790\uc758 \ube44\ubc00\ubc88\ud638\ub97c \ucd08\uae30\ud654\ud569\ub2c8\ub2e4. \ube44\ubc00\ubc88\ud638 \uc7ac\uc124\uc815 \uc774\uba54\uc77c\uc774 \ubc1c\uc1a1\ub429\ub2c8\ub2e4.", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/OperatorPasswordResetRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/OperatorPasswordResetRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/OperatorPasswordResetRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "\ucd08\uae30\ud654 \uc131\uacf5", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/OperatorCreateResponseDtoApiResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OperatorCreateResponseDtoApiResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/OperatorCreateResponseDtoApiResponse" + } + } + } + }, + "401": { + "description": "\uc778\uc99d\ub418\uc9c0 \uc54a\uc740 \uc694\uccad" + }, + "403": { + "description": "\uad8c\ud55c \uc5c6\uc74c" + }, + "404": { + "description": "\uc6b4\uc601\uc790\ub97c \ucc3e\uc744 \uc218 \uc5c6\uc74c" + } + } + } + }, + "/v1/in/public/config": { + "post": { + "tags": [ + "AppConfig" + ], + "summary": "\uc571 \uae30\ubcf8 \uc124\uc815", + "description": "\uc571 \uae30\ubcf8 \uc124\uc815 \uc815\ubcf4\ub97c \uc870\ud68c\ud569\ub2c8\ub2e4.", + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/v1/in/public/app/version": { + "post": { + "tags": [ + "AppVersion" + ], + "summary": "\uc571 \ubc84\uc804 \uccb4\ud06c", + "description": "\ud604\uc7ac \uc571 \ubc84\uc804 \uc815\ubcf4\ub97c \ud655\uc778\ud558\uace0 \uc5c5\ub370\uc774\ud2b8 \ud544\uc694 \uc5ec\ubd80\ub97c \ubc18\ud658\ud569\ub2c8\ub2e4.", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AppVersionRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/AppVersionRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/AppVersionRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/v1/in/auth/signup": { + "post": { + "tags": [ + "Auth" + ], + "summary": "\ud68c\uc6d0\uac00\uc785", + "description": "\uc0c8\ub85c\uc6b4 \uad00\ub9ac\uc790 \uacc4\uc815\uc744 \uc0dd\uc131\ud569\ub2c8\ub2e4. \uc57d\uad00/\uac1c\uc778\uc815\ubcf4 \ub3d9\uc758(agreeTerms, agreePrivacy)\uac00 \ud544\uc218\uc774\uba70, \uc131\uacf5 \uc2dc \uc774\uba54\uc77c \uc778\uc99d \uc138\uc158(verifySessionId)\uacfc \uba54\uc77c \ubc1c\uc1a1 \uacb0\uacfc(emailSent)\ub97c \ubc18\ud658\ud569\ub2c8\ub2e4.", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SignupRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/SignupRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/SignupRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "\ud68c\uc6d0\uac00\uc785 \uc131\uacf5", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/SignupResponseDtoApiResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/SignupResponseDtoApiResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/SignupResponseDtoApiResponse" + } + } + } + }, + "400": { + "description": "\uc798\ubabb\ub41c \uc694\uccad \ub610\ub294 \ub3d9\uc758 \ubbf8\uccb4\ud06c" + }, + "409": { + "description": "\uc774\ubbf8 \uc0ac\uc6a9 \uc911\uc778 \uc774\uba54\uc77c" + } + } + } + }, + "/v1/in/auth/email/check": { + "post": { + "tags": [ + "Auth" + ], + "summary": "\uc774\uba54\uc77c \uc911\ubcf5 \uccb4\ud06c", + "description": "\ud68c\uc6d0\uac00\uc785 \uc804 \uc774\uba54\uc77c \uc0ac\uc6a9 \uac00\ub2a5 \uc5ec\ubd80\ub97c \ud655\uc778\ud569\ub2c8\ub2e4.", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EmailCheckRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/EmailCheckRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/EmailCheckRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "\uc774\uba54\uc77c \uc911\ubcf5 \uccb4\ud06c \uc131\uacf5", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/EmailCheckResponseDtoApiResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/EmailCheckResponseDtoApiResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/EmailCheckResponseDtoApiResponse" + } + } + } + }, + "400": { + "description": "\uc798\ubabb\ub41c \uc694\uccad" + } + } + } + }, + "/v1/in/auth/login": { + "post": { + "tags": [ + "Auth" + ], + "summary": "\uad00\ub9ac\uc790 \ub85c\uadf8\uc778", + "description": "\uc774\uba54\uc77c\uacfc \ube44\ubc00\ubc88\ud638\ub85c \ub85c\uadf8\uc778\ud558\uc5ec JWT \ud1a0\ud070\uc744 \ubc1c\uae09\ubc1b\uc2b5\ub2c8\ub2e4. \uc751\ub2f5\uc758 nextAction\uc73c\ub85c \ud654\uba74 \ubd84\uae30: GO_DASHBOARD(\ub300\uc2dc\ubcf4\ub4dc), VERIFY_EMAIL(\uc774\uba54\uc77c \uc778\uc99d \ud544\uc694), CHANGE_PASSWORD(\ube44\ubc00\ubc88\ud638 \uac15\uc81c\ubcc0\uacbd). 5\ud68c \uc5f0\uc18d \uc2e4\ud328 \uc2dc 15\ubd84\uac04 \ub85c\uadf8\uc778\uc774 \ucc28\ub2e8\ub429\ub2c8\ub2e4.", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LoginRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/LoginRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/LoginRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "\ub85c\uadf8\uc778 \uc131\uacf5", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/LoginResponseDtoApiResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/LoginResponseDtoApiResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/LoginResponseDtoApiResponse" + } + } + } + }, + "401": { + "description": "\ub85c\uadf8\uc778 \uc2e4\ud328" + }, + "429": { + "description": "\ub85c\uadf8\uc778 \uc2dc\ub3c4 \ud69f\uc218 \ucd08\uacfc" + } + } + } + }, + "/v1/in/auth/token/refresh": { + "post": { + "tags": [ + "Auth" + ], + "summary": "\ud1a0\ud070 \uac31\uc2e0", + "description": "Refresh Token\uc744 \uc0ac\uc6a9\ud558\uc5ec \uc0c8\ub85c\uc6b4 Access Token\uacfc Refresh Token\uc744 \ubc1c\uae09\ubc1b\uc2b5\ub2c8\ub2e4.", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TokenRefreshRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/TokenRefreshRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/TokenRefreshRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "\ud1a0\ud070 \uac31\uc2e0 \uc131\uacf5", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/TokenRefreshResponseDtoApiResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/TokenRefreshResponseDtoApiResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/TokenRefreshResponseDtoApiResponse" + } + } + } + }, + "401": { + "description": "\uc720\ud6a8\ud558\uc9c0 \uc54a\uac70\ub098 \ub9cc\ub8cc\ub41c Refresh Token" + } + } + } + }, + "/v1/in/auth/logout": { + "post": { + "tags": [ + "Auth" + ], + "summary": "\ub85c\uadf8\uc544\uc6c3", + "description": "\ud604\uc7ac \ub85c\uadf8\uc778\ub41c \uad00\ub9ac\uc790\uc758 \ud1a0\ud070\uc744 \ubb34\ud6a8\ud654\ud569\ub2c8\ub2e4. Refresh Token\uc740 DB\uc5d0\uc11c \uc0ad\uc81c\ub418\uace0, Access Token\uc740 Redis \ube14\ub799\ub9ac\uc2a4\ud2b8\uc5d0 \ub4f1\ub85d\ub418\uc5b4 \uc989\uc2dc \uc0ac\uc6a9 \ubd88\uac00\ud569\ub2c8\ub2e4. \uc124\uc815/\ub9c8\uc774\ud398\uc774\uc9c0/\ud504\ub85c\ud544 \ub4f1 \ubaa8\ub4e0 \ud654\uba74\uc5d0\uc11c \uc774 \ub2e8\uc77c API\ub97c \uc0ac\uc6a9\ud569\ub2c8\ub2e4. \uc751\ub2f5\uc758 redirect_to\ub85c \uc774\ub3d9\ud569\ub2c8\ub2e4.", + "responses": { + "200": { + "description": "\ub85c\uadf8\uc544\uc6c3 \uc131\uacf5", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/LogoutResponseDtoApiResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/LogoutResponseDtoApiResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/LogoutResponseDtoApiResponse" + } + } + } + }, + "401": { + "description": "\uc778\uc99d\ub418\uc9c0 \uc54a\uc740 \uc694\uccad" + } + } + } + }, + "/v1/in/auth/email/verify": { + "post": { + "tags": [ + "Auth" + ], + "summary": "\uc774\uba54\uc77c \uc778\uc99d", + "description": "\uc778\uc99d \ucf54\ub4dc\ub85c \uc774\uba54\uc77c\uc744 \uc778\uc99d\ud569\ub2c8\ub2e4. verify_session_id(\uad8c\uc7a5) \ub610\ub294 email\ub85c \ub300\uc0c1\uc744 \uc9c0\uc815\ud569\ub2c8\ub2e4. 5\ud68c \uc2e4\ud328 \uc2dc 30\ubd84\uac04 \ucc28\ub2e8\ub429\ub2c8\ub2e4.", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EmailVerifyRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/EmailVerifyRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/EmailVerifyRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "\uc774\uba54\uc77c \uc778\uc99d \uc131\uacf5", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/EmailVerifyResponseDtoApiResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/EmailVerifyResponseDtoApiResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/EmailVerifyResponseDtoApiResponse" + } + } + } + }, + "400": { + "description": "\uc778\uc99d \ucf54\ub4dc \ubd88\uc77c\uce58 \ub610\ub294 \ub9cc\ub8cc" + }, + "429": { + "description": "\uc2dc\ub3c4 \ud69f\uc218 \ucd08\uacfc" + } + } + } + }, + "/v1/in/auth/email/verify/resend": { + "post": { + "tags": [ + "Auth" + ], + "summary": "\uc774\uba54\uc77c \uc778\uc99d\ucf54\ub4dc \uc7ac\uc804\uc1a1", + "description": "\uc778\uc99d \uc138\uc158 ID\ub85c \uc778\uc99d\ucf54\ub4dc\ub97c \uc7ac\uc804\uc1a1\ud569\ub2c8\ub2e4. \uc7ac\uc804\uc1a1 \uac04 60\ucd08 \ucfe8\ub2e4\uc6b4\uc774 \uc801\uc6a9\ub418\uba70, \uc778\uc99d\ucf54\ub4dc \uc720\ud6a8\uc2dc\uac04\uc740 5\ubd84\uc785\ub2c8\ub2e4.", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EmailResendRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/EmailResendRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/EmailResendRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "\uc7ac\uc804\uc1a1 \uc131\uacf5", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/EmailResendResponseDtoApiResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/EmailResendResponseDtoApiResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/EmailResendResponseDtoApiResponse" + } + } + } + }, + "400": { + "description": "\uc720\ud6a8\ud558\uc9c0 \uc54a\uc740 \uc138\uc158" + }, + "429": { + "description": "\uc7ac\uc804\uc1a1 \ucfe8\ub2e4\uc6b4 \uc911" + } + } + } + }, + "/v1/in/auth/password/change": { + "post": { + "tags": [ + "Auth" + ], + "summary": "\ube44\ubc00\ubc88\ud638 \ubcc0\uacbd", + "description": "\ud604\uc7ac \ub85c\uadf8\uc778\ub41c \uad00\ub9ac\uc790\uc758 \ube44\ubc00\ubc88\ud638\ub97c \ubcc0\uacbd\ud569\ub2c8\ub2e4. \ubcc0\uacbd \uc131\uacf5 \uc2dc \ubaa8\ub4e0 \uc138\uc158\uc774 \ubb34\ud6a8\ud654\ub418\uba70 \uc7ac\ub85c\uadf8\uc778\uc774 \ud544\uc694\ud569\ub2c8\ub2e4. \ube44\ubc00\ubc88\ud638 \uc815\ucc45: 8\uc790 \uc774\uc0c1, \uc601\ubb38 \ub300/\uc18c\ubb38\uc790\u00b7\uc22b\uc790\u00b7\ud2b9\uc218\ubb38\uc790 \uac01 1\uc790 \uc774\uc0c1, \ud604\uc7ac \ube44\ubc00\ubc88\ud638\uc640 \ub3d9\uc77c \ubd88\uac00.", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ChangePasswordRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ChangePasswordRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/ChangePasswordRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "\ube44\ubc00\ubc88\ud638 \ubcc0\uacbd \uc131\uacf5", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ChangePasswordResponseDtoApiResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/ChangePasswordResponseDtoApiResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ChangePasswordResponseDtoApiResponse" + } + } + } + }, + "400": { + "description": "\ud604\uc7ac \ube44\ubc00\ubc88\ud638 \ubd88\uc77c\uce58 / \uc815\ucc45 \uc704\ubc18 / \ub3d9\uc77c \ube44\ubc00\ubc88\ud638 \uc7ac\uc0ac\uc6a9" + }, + "401": { + "description": "\uc778\uc99d\ub418\uc9c0 \uc54a\uc740 \uc694\uccad" + } + } + } + }, + "/v1/in/public/banner/list": { + "post": { + "tags": [ + "Banner" + ], + "summary": "\ubc30\ub108 \ubaa9\ub85d", + "description": "\ud65c\uc131\ud654\ub41c \ubc30\ub108 \ubaa9\ub85d\uc744 \uc870\ud68c\ud569\ub2c8\ub2e4. position\uc73c\ub85c \ud544\ud130\ub9c1 \uac00\ub2a5.", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BannerListRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/BannerListRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/BannerListRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/v1/in/device/register": { + "post": { + "tags": [ + "Device" + ], + "summary": "\ub514\ubc14\uc774\uc2a4 \ub4f1\ub85d", + "description": "\uc571 \ucd5c\ucd08 \uc124\uce58 \uc2dc \ub514\ubc14\uc774\uc2a4\ub97c \ub4f1\ub85d\ud569\ub2c8\ub2e4.", + "parameters": [ + { + "name": "X-Service-Code", + "in": "header", + "description": "\uc11c\ube44\uc2a4 \uc2dd\ubcc4 \ucf54\ub4dc", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "X-API-KEY", + "in": "header", + "description": "API \uc778\uc99d \ud0a4 (SDK/\ub514\ubc14\uc774\uc2a4\uc6a9)", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DeviceRegisterRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/DeviceRegisterRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/DeviceRegisterRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/v1/in/device/info": { + "post": { + "tags": [ + "Device" + ], + "summary": "\ub514\ubc14\uc774\uc2a4 \uc870\ud68c", + "description": "\ub514\ubc14\uc774\uc2a4 \uc815\ubcf4\ub97c \uc870\ud68c\ud569\ub2c8\ub2e4.", + "parameters": [ + { + "name": "X-Service-Code", + "in": "header", + "description": "\uc11c\ube44\uc2a4 \uc2dd\ubcc4 \ucf54\ub4dc", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "X-API-KEY", + "in": "header", + "description": "API \uc778\uc99d \ud0a4 (SDK/\ub514\ubc14\uc774\uc2a4\uc6a9)", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DeviceInfoRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/DeviceInfoRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/DeviceInfoRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/v1/in/device/update": { + "post": { + "tags": [ + "Device" + ], + "summary": "\ub514\ubc14\uc774\uc2a4 \uc218\uc815", + "description": "\uc571 \uc2e4\ud589 \uc2dc \ub514\ubc14\uc774\uc2a4 \uc815\ubcf4\ub97c \uc5c5\ub370\uc774\ud2b8\ud569\ub2c8\ub2e4.", + "parameters": [ + { + "name": "X-Service-Code", + "in": "header", + "description": "\uc11c\ube44\uc2a4 \uc2dd\ubcc4 \ucf54\ub4dc", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "X-API-KEY", + "in": "header", + "description": "API \uc778\uc99d \ud0a4 (SDK/\ub514\ubc14\uc774\uc2a4\uc6a9)", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DeviceUpdateRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/DeviceUpdateRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/DeviceUpdateRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/v1/in/device/delete": { + "post": { + "tags": [ + "Device" + ], + "summary": "\ub514\ubc14\uc774\uc2a4 \uc0ad\uc81c", + "description": "\uc571 \uc0ad\uc81c/\ub85c\uadf8\uc544\uc6c3 \uc2dc \ub514\ubc14\uc774\uc2a4\ub97c \ube44\ud65c\uc131\ud654\ud569\ub2c8\ub2e4.", + "parameters": [ + { + "name": "X-Service-Code", + "in": "header", + "description": "\uc11c\ube44\uc2a4 \uc2dd\ubcc4 \ucf54\ub4dc", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "X-API-KEY", + "in": "header", + "description": "API \uc778\uc99d \ud0a4 (SDK/\ub514\ubc14\uc774\uc2a4\uc6a9)", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DeviceDeleteRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/DeviceDeleteRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/DeviceDeleteRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/v1/in/device/tags": { + "post": { + "tags": [ + "Device" + ], + "summary": "\ud0dc\uadf8 \uc124\uc815", + "description": "\ub514\ubc14\uc774\uc2a4 \ud0dc\uadf8\ub97c \uc124\uc815\ud569\ub2c8\ub2e4. \ube48 \ubc30\uc5f4 \uc804\ub2ec \uc2dc \ubaa8\ub4e0 \ud0dc\uadf8 \ud574\uc81c.", + "parameters": [ + { + "name": "X-Service-Code", + "in": "header", + "description": "\uc11c\ube44\uc2a4 \uc2dd\ubcc4 \ucf54\ub4dc", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "X-API-KEY", + "in": "header", + "description": "API \uc778\uc99d \ud0a4 (SDK/\ub514\ubc14\uc774\uc2a4\uc6a9)", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DeviceTagsRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/DeviceTagsRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/DeviceTagsRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/v1/in/device/agree": { + "post": { + "tags": [ + "Device" + ], + "summary": "\ub3d9\uc758 \uc124\uc815", + "description": "\ud478\uc2dc/\ub9c8\ucf00\ud305 \uc218\uc2e0 \ub3d9\uc758\ub97c \uc124\uc815\ud569\ub2c8\ub2e4.", + "parameters": [ + { + "name": "X-Service-Code", + "in": "header", + "description": "\uc11c\ube44\uc2a4 \uc2dd\ubcc4 \ucf54\ub4dc", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "X-API-KEY", + "in": "header", + "description": "API \uc778\uc99d \ud0a4 (SDK/\ub514\ubc14\uc774\uc2a4\uc6a9)", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DeviceAgreeRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/DeviceAgreeRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/DeviceAgreeRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/v1/in/device/admin/delete": { + "post": { + "tags": [ + "Device" + ], + "summary": "\uad00\ub9ac\uc790 \uae30\uae30 \uc0ad\uc81c", + "description": "\uad00\ub9ac\uc790\uac00 \uae30\uae30\ub97c \uc0ad\uc81c(\ube44\ud65c\uc131\ud654)\ud569\ub2c8\ub2e4. \uc0ad\uc81c \uc989\uc2dc \ubc1c\uc1a1\uc774 \ucc28\ub2e8\ub429\ub2c8\ub2e4. JWT \uc778\uc99d \ud544\uc694.", + "parameters": [ + { + "name": "X-Service-Code", + "in": "header", + "description": "\uc11c\ube44\uc2a4 \uc2dd\ubcc4 \ucf54\ub4dc", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "X-API-KEY", + "in": "header", + "description": "API \uc778\uc99d \ud0a4 (SDK/\ub514\ubc14\uc774\uc2a4\uc6a9)", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DeviceDeleteRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/DeviceDeleteRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/DeviceDeleteRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/v1/in/device/list": { + "post": { + "tags": [ + "Device" + ], + "summary": "\ub514\ubc14\uc774\uc2a4 \ubaa9\ub85d", + "description": "\ub300\uc2dc\ubcf4\ub4dc\uc5d0\uc11c \ub514\ubc14\uc774\uc2a4 \ubaa9\ub85d\uc744 \uc870\ud68c\ud569\ub2c8\ub2e4. JWT \uc778\uc99d \ud544\uc694.", + "parameters": [ + { + "name": "X-Service-Code", + "in": "header", + "description": "\uc11c\ube44\uc2a4 \uc2dd\ubcc4 \ucf54\ub4dc (\uad00\ub9ac\uc790: \ubbf8\uc9c0\uc815 \uc2dc \uc804\uccb4 \uc11c\ube44\uc2a4 \uc870\ud68c)", + "schema": { + "type": "string" + } + }, + { + "name": "X-API-KEY", + "in": "header", + "description": "API \uc778\uc99d \ud0a4 (SDK/\ub514\ubc14\uc774\uc2a4\uc6a9)", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DeviceListRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/DeviceListRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/DeviceListRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/v1/in/device/export": { + "post": { + "tags": [ + "Device" + ], + "summary": "\uae30\uae30 \uc5d1\uc140 \ub0b4\ubcf4\ub0b4\uae30", + "description": "\ubaa9\ub85d \ud544\ud130\uc640 \ub3d9\uc77c \uc870\uac74\uc73c\ub85c \uae30\uae30 \ubaa9\ub85d\uc744 \uc5d1\uc140(.xlsx)\ub85c \ub0b4\ubcf4\ub0c5\ub2c8\ub2e4. JWT \uc778\uc99d \ud544\uc694.", + "parameters": [ + { + "name": "X-Service-Code", + "in": "header", + "description": "\uc11c\ube44\uc2a4 \uc2dd\ubcc4 \ucf54\ub4dc", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "X-API-KEY", + "in": "header", + "description": "API \uc778\uc99d \ud0a4 (SDK/\ub514\ubc14\uc774\uc2a4\uc6a9)", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DeviceExportRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/DeviceExportRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/DeviceExportRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/v1/in/public/faq/list": { + "post": { + "tags": [ + "Faq" + ], + "summary": "FAQ \ubaa9\ub85d", + "description": "\ud65c\uc131\ud654\ub41c FAQ \ubaa9\ub85d\uc744 \uc870\ud68c\ud569\ub2c8\ub2e4. category\ub85c \ud544\ud130\ub9c1 \uac00\ub2a5.", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FaqListRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/FaqListRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/FaqListRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/v1/in/file/upload": { + "post": { + "tags": [ + "File" + ], + "summary": "\ud30c\uc77c \uc5c5\ub85c\ub4dc", + "description": "\uc774\ubbf8\uc9c0 \ub610\ub294 CSV \ud30c\uc77c\uc744 \uc5c5\ub85c\ub4dc\ud569\ub2c8\ub2e4.", + "parameters": [ + { + "name": "X-Service-Code", + "in": "header", + "description": "\uc11c\ube44\uc2a4 \uc2dd\ubcc4 \ucf54\ub4dc", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "multipart/form-data": { + "schema": { + "type": "object", + "properties": { + "file": { + "type": "string", + "format": "binary" + }, + "file_type": { + "type": "string" + } + } + }, + "encoding": { + "file": { + "style": "form" + }, + "file_type": { + "style": "form" + } + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/v1/in/file/info": { + "post": { + "tags": [ + "File" + ], + "summary": "\ud30c\uc77c \uc870\ud68c", + "description": "\ud30c\uc77c \uba54\ud0c0\ub370\uc774\ud130\ub97c \uc870\ud68c\ud569\ub2c8\ub2e4.", + "parameters": [ + { + "name": "X-Service-Code", + "in": "header", + "description": "\uc11c\ube44\uc2a4 \uc2dd\ubcc4 \ucf54\ub4dc", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FileInfoRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/FileInfoRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/FileInfoRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/v1/in/file/list": { + "post": { + "tags": [ + "File" + ], + "summary": "\ud30c\uc77c \ubaa9\ub85d \uc870\ud68c", + "description": "\uc11c\ube44\uc2a4\uc758 \ud30c\uc77c \ubaa9\ub85d\uc744 \ud398\uc774\uc9d5 \uc870\ud68c\ud569\ub2c8\ub2e4.", + "parameters": [ + { + "name": "X-Service-Code", + "in": "header", + "description": "\uc11c\ube44\uc2a4 \uc2dd\ubcc4 \ucf54\ub4dc", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FileListRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/FileListRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/FileListRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/v1/in/file/delete": { + "post": { + "tags": [ + "File" + ], + "summary": "\ud30c\uc77c \uc0ad\uc81c", + "description": "\ud30c\uc77c\uc744 \uc0ad\uc81c\ud569\ub2c8\ub2e4. (Soft Delete)", + "parameters": [ + { + "name": "X-Service-Code", + "in": "header", + "description": "\uc11c\ube44\uc2a4 \uc2dd\ubcc4 \ucf54\ub4dc", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FileDeleteRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/FileDeleteRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/FileDeleteRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/v1/in/file/csv/validate": { + "post": { + "tags": [ + "File" + ], + "summary": "CSV \uac80\uc99d", + "description": "\ub300\uc6a9\ub7c9 \ubc1c\uc1a1\uc6a9 CSV \ud30c\uc77c\uc744 \uac80\uc99d\ud569\ub2c8\ub2e4.", + "parameters": [ + { + "name": "X-Service-Code", + "in": "header", + "description": "\uc11c\ube44\uc2a4 \uc2dd\ubcc4 \ucf54\ub4dc", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "multipart/form-data": { + "schema": { + "type": "object", + "properties": { + "file": { + "type": "string", + "format": "binary" + }, + "message_code": { + "type": "string" + } + } + }, + "encoding": { + "file": { + "style": "form" + }, + "message_code": { + "style": "form" + } + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/v1/in/file/csv/template": { + "post": { + "tags": [ + "File" + ], + "summary": "CSV \ud15c\ud50c\ub9bf \ub2e4\uc6b4\ub85c\ub4dc", + "description": "\uba54\uc2dc\uc9c0\ubcc4 CSV \ud15c\ud50c\ub9bf\uc744 \ub2e4\uc6b4\ub85c\ub4dc\ud569\ub2c8\ub2e4.", + "parameters": [ + { + "name": "X-Service-Code", + "in": "header", + "description": "\uc11c\ube44\uc2a4 \uc2dd\ubcc4 \ucf54\ub4dc", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CsvTemplateRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/CsvTemplateRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/CsvTemplateRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/v1/in/public/maintenance": { + "post": { + "tags": [ + "Maintenance" + ], + "summary": "\uc810\uac80 \uc548\ub0b4", + "description": "\ud604\uc7ac \uc11c\ube44\uc2a4 \uc810\uac80 \uc0c1\ud0dc\ub97c \uc870\ud68c\ud569\ub2c8\ub2e4.", + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/v1/in/message/save": { + "post": { + "tags": [ + "Message" + ], + "summary": "\uba54\uc2dc\uc9c0 \uc800\uc7a5", + "description": "\uba54\uc2dc\uc9c0 \ud15c\ud50c\ub9bf\uc744 \uc800\uc7a5\ud569\ub2c8\ub2e4. \uba54\uc2dc\uc9c0 \ucf54\ub4dc\uac00 \uc790\ub3d9 \uc0dd\uc131\ub429\ub2c8\ub2e4. \ud544\ub4dc\uba85\uc740 snake_case(title, body, image_url, link_url, link_type, data)\ub97c \uc0ac\uc6a9\ud569\ub2c8\ub2e4. \uc800\uc7a5 \uc804 validate API\ub85c \uc0ac\uc804 \uac80\uc99d\uc744 \uad8c\uc7a5\ud569\ub2c8\ub2e4.", + "parameters": [ + { + "name": "X-Service-Code", + "in": "header", + "description": "\uc11c\ube44\uc2a4 \uc2dd\ubcc4 \ucf54\ub4dc", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MessageSaveRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/MessageSaveRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/MessageSaveRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/v1/in/message/list": { + "post": { + "tags": [ + "Message" + ], + "summary": "\uba54\uc2dc\uc9c0 \ubaa9\ub85d \uc870\ud68c", + "description": "\uba54\uc2dc\uc9c0 \ubaa9\ub85d\uc744 \ud398\uc774\uc9c0 \ub2e8\uc704\ub85c \uc870\ud68c\ud569\ub2c8\ub2e4. X-Service-Code \ud5e4\ub354\uac00 \uc788\uc73c\uba74 \ud574\ub2f9 \uc11c\ube44\uc2a4\ub9cc, \uc5c6\uc73c\uba74 \uc804\uccb4 \uc11c\ube44\uc2a4 \uba54\uc2dc\uc9c0\ub97c \ubc18\ud658\ud569\ub2c8\ub2e4. send_status \ud544\ud130(complete/pending/failed)\ub97c \uc9c0\uc6d0\ud569\ub2c8\ub2e4. \ubc1c\uc1a1 \uc0c1\ud0dc\ub294 \ud1b5\uc77c\ub41c SendStatus \uaddc\uce59(pending=\ubbf8\ubc1c\uc1a1, complete=1\uac74 \uc774\uc0c1 \uc131\uacf5, failed=\uc804\uac74 \uc2e4\ud328)\uc73c\ub85c \ud310\uc815\ub429\ub2c8\ub2e4.", + "parameters": [ + { + "name": "X-Service-Code", + "in": "header", + "description": "\uc11c\ube44\uc2a4 \uc2dd\ubcc4 \ucf54\ub4dc (\uad00\ub9ac\uc790: \ubbf8\uc9c0\uc815 \uc2dc \uc804\uccb4 \uc11c\ube44\uc2a4 \uc870\ud68c)", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MessageListRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/MessageListRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/MessageListRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/v1/in/message/info": { + "post": { + "tags": [ + "Message" + ], + "summary": "\uba54\uc2dc\uc9c0 \uc0c1\uc138 \uc870\ud68c", + "description": "\uba54\uc2dc\uc9c0 \ucf54\ub4dc\ub85c \uc0c1\uc138 \uc815\ubcf4\ub97c \uc870\ud68c\ud569\ub2c8\ub2e4. \uc11c\ube44\uc2a4 \uc815\ubcf4(service_name, service_code), \uc791\uc131\uc790(created_by_name), \ubc1c\uc1a1 \uc0c1\ud0dc(latest_send_status), \ud15c\ud50c\ub9bf \ubcc0\uc218 \ubaa9\ub85d\uc744 \ud3ec\ud568\ud569\ub2c8\ub2e4. \ubc1c\uc1a1 \uc0c1\ud0dc\ub294 \ud1b5\uc77c\ub41c SendStatus \uaddc\uce59(pending=\ubbf8\ubc1c\uc1a1, complete=1\uac74 \uc774\uc0c1 \uc131\uacf5, failed=\uc804\uac74 \uc2e4\ud328)\uc73c\ub85c \ud310\uc815\ub429\ub2c8\ub2e4.", + "parameters": [ + { + "name": "X-Service-Code", + "in": "header", + "description": "\uc11c\ube44\uc2a4 \uc2dd\ubcc4 \ucf54\ub4dc", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MessageInfoRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/MessageInfoRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/MessageInfoRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/v1/in/message/delete": { + "post": { + "tags": [ + "Message" + ], + "summary": "\uba54\uc2dc\uc9c0 \uc0ad\uc81c", + "description": "\uba54\uc2dc\uc9c0\ub97c \uc18c\ud504\ud2b8 \uc0ad\uc81c\ud569\ub2c8\ub2e4. 30\uc77c \ud6c4 \uc2a4\ucf00\uc904\ub7ec\uc5d0 \uc758\ud574 \uc644\uc804 \uc0ad\uc81c\ub429\ub2c8\ub2e4.", + "parameters": [ + { + "name": "X-Service-Code", + "in": "header", + "description": "\uc11c\ube44\uc2a4 \uc2dd\ubcc4 \ucf54\ub4dc", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MessageDeleteRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/MessageDeleteRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/MessageDeleteRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/v1/in/message/validate": { + "post": { + "tags": [ + "Message" + ], + "summary": "\uba54\uc2dc\uc9c0 \uc720\ud6a8\uc131 \uac80\uc0ac", + "description": "\uba54\uc2dc\uc9c0 \ub0b4\uc6a9\uc758 \uc720\ud6a8\uc131\uc744 \uac80\uc0ac\ud569\ub2c8\ub2e4. save API\uc640 \ub3d9\uc77c\ud55c snake_case \ud544\ub4dc\uba85(title, body, image_url, link_url, link_type, data)\uc744 \uc0ac\uc6a9\ud569\ub2c8\ub2e4. \uac80\uc99d \uc2e4\ud328 \uc2dc data.errors[]\uc5d0 field + message \ub2e8\uc704\ub85c \uc624\ub958\uac00 \ubc18\ud658\ub429\ub2c8\ub2e4.", + "parameters": [ + { + "name": "X-Service-Code", + "in": "header", + "description": "\uc11c\ube44\uc2a4 \uc2dd\ubcc4 \ucf54\ub4dc", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MessageValidateRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/MessageValidateRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/MessageValidateRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/v1/in/message/preview": { + "post": { + "tags": [ + "Message" + ], + "summary": "\uba54\uc2dc\uc9c0 \ubbf8\ub9ac\ubcf4\uae30", + "description": "\uba54\uc2dc\uc9c0 \ud15c\ud50c\ub9bf\uc5d0 \ubcc0\uc218\ub97c \uce58\ud658\ud558\uc5ec \ubbf8\ub9ac\ubcf4\uae30\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4. \uc751\ub2f5\uc5d0 link_type\uc744 \ud3ec\ud568\ud569\ub2c8\ub2e4.", + "parameters": [ + { + "name": "X-Service-Code", + "in": "header", + "description": "\uc11c\ube44\uc2a4 \uc2dd\ubcc4 \ucf54\ub4dc", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MessagePreviewRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/MessagePreviewRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/MessagePreviewRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/v1/in/public/notice/list": { + "post": { + "tags": [ + "Notice" + ], + "summary": "\uacf5\uc9c0\uc0ac\ud56d \ubaa9\ub85d", + "description": "\ud65c\uc131\ud654\ub41c \uacf5\uc9c0\uc0ac\ud56d \ubaa9\ub85d\uc744 \ud398\uc774\uc9d5\uc73c\ub85c \uc870\ud68c\ud569\ub2c8\ub2e4. \uc0c1\ub2e8 \uace0\uc815 \uc6b0\uc120 \uc815\ub82c.", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NoticeListRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/NoticeListRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/NoticeListRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/v1/in/public/notice/info": { + "post": { + "tags": [ + "Notice" + ], + "summary": "\uacf5\uc9c0\uc0ac\ud56d \uc0c1\uc138", + "description": "\uacf5\uc9c0\uc0ac\ud56d ID\ub85c \uc0c1\uc138 \uc815\ubcf4\ub97c \uc870\ud68c\ud569\ub2c8\ub2e4.", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NoticeInfoRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/NoticeInfoRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/NoticeInfoRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/v1/in/notification/summary": { + "post": { + "tags": [ + "Notification" + ], + "summary": "\uc54c\ub9bc \uc694\uc57d \uc870\ud68c", + "description": "\ucd5c\uadfc N\uac74\uc758 \uc54c\ub9bc\uacfc \ubbf8\uc77d \uac74\uc218\ub97c \ubc18\ud658\ud569\ub2c8\ub2e4. \ud5e4\ub354 \ubc43\uc9c0\uc6a9.", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotificationSummaryRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/NotificationSummaryRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/NotificationSummaryRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/v1/in/notification/list": { + "post": { + "tags": [ + "Notification" + ], + "summary": "\uc54c\ub9bc \ubaa9\ub85d \uc870\ud68c", + "description": "\uc54c\ub9bc \ubaa9\ub85d\uc744 \ud398\uc774\uc9c0 \ub2e8\uc704\ub85c \uc870\ud68c\ud569\ub2c8\ub2e4. \uce74\ud14c\uace0\ub9ac/\uae30\uac04/\uc77d\uc74c \ud544\ud130\ub97c \uc9c0\uc6d0\ud569\ub2c8\ub2e4.", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotificationListRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/NotificationListRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/NotificationListRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/v1/in/notification/read": { + "post": { + "tags": [ + "Notification" + ], + "summary": "\uc54c\ub9bc \uc77d\uc74c \ucc98\ub9ac", + "description": "\ub2e8\uac74 \uc54c\ub9bc\uc744 \uc77d\uc74c \ucc98\ub9ac\ud569\ub2c8\ub2e4. \uc774\ubbf8 \uc77d\uc740 \uc54c\ub9bc\uc740 \ubb34\uc2dc(\uba71\ub4f1).", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotificationReadRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/NotificationReadRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/NotificationReadRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/v1/in/notification/read-all": { + "post": { + "tags": [ + "Notification" + ], + "summary": "\uc54c\ub9bc \uc804\uccb4 \uc77d\uc74c", + "description": "\ud574\ub2f9 \uad00\ub9ac\uc790\uc758 \ubaa8\ub4e0 \ubbf8\uc77d \uc54c\ub9bc\uc744 \uc77c\uad04 \uc77d\uc74c \ucc98\ub9ac\ud569\ub2c8\ub2e4.", + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/v1/in/account/password/forgot": { + "post": { + "tags": [ + "Password" + ], + "summary": "\ube44\ubc00\ubc88\ud638 \ucc3e\uae30", + "description": "\ub4f1\ub85d\ub41c \uc774\uba54\uc77c\ub85c \ube44\ubc00\ubc88\ud638 \uc7ac\uc124\uc815 \ud1a0\ud070\uc744 \ubc1c\uc1a1\ud569\ub2c8\ub2e4. \ubcf4\uc548\uc744 \uc704\ud574 \uc774\uba54\uc77c \uc874\uc7ac \uc5ec\ubd80\uc640 \uad00\uacc4\uc5c6\uc774 \ub3d9\uc77c\ud55c \uc751\ub2f5\uc744 \ubc18\ud658\ud569\ub2c8\ub2e4.", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PasswordForgotRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/PasswordForgotRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/PasswordForgotRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "\uc7ac\uc124\uc815 \uba54\uc77c \ubc1c\uc1a1 \uc644\ub8cc" + }, + "400": { + "description": "\uc798\ubabb\ub41c \uc694\uccad" + } + } + } + }, + "/v1/in/account/password/reset": { + "post": { + "tags": [ + "Password" + ], + "summary": "\ube44\ubc00\ubc88\ud638 \uc7ac\uc124\uc815", + "description": "\uc774\uba54\uc77c\ub85c \ubc1b\uc740 \uc7ac\uc124\uc815 \ud1a0\ud070\uacfc \uc0c8 \ube44\ubc00\ubc88\ud638\ub85c \ube44\ubc00\ubc88\ud638\ub97c \uc7ac\uc124\uc815\ud569\ub2c8\ub2e4.", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PasswordResetRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/PasswordResetRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/PasswordResetRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "\ube44\ubc00\ubc88\ud638 \uc7ac\uc124\uc815 \uc131\uacf5" + }, + "400": { + "description": "\ud1a0\ud070 \ubd88\uc77c\uce58 \ub610\ub294 \ub9cc\ub8cc" + } + } + } + }, + "/v1/in/account/password/temp": { + "post": { + "tags": [ + "Password" + ], + "summary": "\uc784\uc2dc \ube44\ubc00\ubc88\ud638 \ubc1c\uae09", + "description": "\ub4f1\ub85d\ub41c \uc774\uba54\uc77c\ub85c \uc784\uc2dc \ube44\ubc00\ubc88\ud638\ub97c \ubc1c\uc1a1\ud569\ub2c8\ub2e4. \ubcf4\uc548\uc744 \uc704\ud574 \uc774\uba54\uc77c \uc874\uc7ac \uc5ec\ubd80\uc640 \uad00\uacc4\uc5c6\uc774 \ub3d9\uc77c\ud55c \uc751\ub2f5\uc744 \ubc18\ud658\ud569\ub2c8\ub2e4.", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TempPasswordRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/TempPasswordRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/TempPasswordRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "\uc784\uc2dc \ube44\ubc00\ubc88\ud638 \ubc1c\uc1a1 \uc644\ub8cc" + }, + "400": { + "description": "\uc798\ubabb\ub41c \uc694\uccad" + } + } + } + }, + "/v1/in/account/profile/info": { + "post": { + "tags": [ + "Profile" + ], + "summary": "\ub0b4 \uc815\ubcf4 \uc870\ud68c", + "description": "\ud604\uc7ac \ub85c\uadf8\uc778\ub41c \uad00\ub9ac\uc790\uc758 \ud504\ub85c\ud544 \uc815\ubcf4\ub97c \uc870\ud68c\ud569\ub2c8\ub2e4.", + "responses": { + "200": { + "description": "\uc870\ud68c \uc131\uacf5", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ProfileResponseDtoApiResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProfileResponseDtoApiResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ProfileResponseDtoApiResponse" + } + } + } + }, + "401": { + "description": "\uc778\uc99d\ub418\uc9c0 \uc54a\uc740 \uc694\uccad" + } + } + } + }, + "/v1/in/account/profile/update": { + "post": { + "tags": [ + "Profile" + ], + "summary": "\ub0b4 \uc815\ubcf4 \uc218\uc815", + "description": "\ud604\uc7ac \ub85c\uadf8\uc778\ub41c \uad00\ub9ac\uc790\uc758 \ud504\ub85c\ud544 \uc815\ubcf4(\uc774\ub984, \uc804\ud654\ubc88\ud638)\ub97c \uc218\uc815\ud569\ub2c8\ub2e4.", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateProfileRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/UpdateProfileRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/UpdateProfileRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "\uc218\uc815 \uc131\uacf5", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ProfileResponseDtoApiResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProfileResponseDtoApiResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ProfileResponseDtoApiResponse" + } + } + } + }, + "400": { + "description": "\ubcc0\uacbd\ub41c \ub0b4\uc6a9 \uc5c6\uc74c" + }, + "401": { + "description": "\uc778\uc99d\ub418\uc9c0 \uc54a\uc740 \uc694\uccad" + } + } + } + }, + "/v1/in/account/profile/activity/list": { + "post": { + "tags": [ + "Profile" + ], + "summary": "\ud65c\ub3d9 \ub0b4\uc5ed \uc870\ud68c", + "description": "\ud604\uc7ac \ub85c\uadf8\uc778\ub41c \uad00\ub9ac\uc790\uc758 \ud65c\ub3d9 \ub0b4\uc5ed\uc744 \ud398\uc774\uc9d5 \uc870\ud68c\ud569\ub2c8\ub2e4.", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ActivityListRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ActivityListRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/ActivityListRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "\uc870\ud68c \uc131\uacf5", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ActivityListResponseDtoApiResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/ActivityListResponseDtoApiResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ActivityListResponseDtoApiResponse" + } + } + } + }, + "401": { + "description": "\uc778\uc99d\ub418\uc9c0 \uc54a\uc740 \uc694\uccad" + } + } + } + }, + "/v1/out/health": { + "post": { + "tags": [ + "Public" + ], + "summary": "\uc11c\ubc84 \uc0c1\ud0dc \ud655\uc778", + "description": "MariaDB, Redis, RabbitMQ \uc5f0\uacb0 \uc0c1\ud0dc\ub97c \ud655\uc778\ud569\ub2c8\ub2e4.", + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/v1/in/push/send": { + "post": { + "tags": [ + "Push" + ], + "summary": "\ub2e8\uac74 \ubc1c\uc1a1", + "description": "\ud2b9\uc815 \ub514\ubc14\uc774\uc2a4\uc5d0 \ud478\uc2dc \uba54\uc2dc\uc9c0\ub97c \uc989\uc2dc \ubc1c\uc1a1\ud569\ub2c8\ub2e4.", + "parameters": [ + { + "name": "X-Service-Code", + "in": "header", + "description": "\uc11c\ube44\uc2a4 \uc2dd\ubcc4 \ucf54\ub4dc", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PushSendRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/PushSendRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/PushSendRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/v1/in/push/send/tag": { + "post": { + "tags": [ + "Push" + ], + "summary": "\ud0dc\uadf8 \ubc1c\uc1a1", + "description": "\ud0dc\uadf8 \uc870\uac74\uc5d0 \ud574\ub2f9\ud558\ub294 \ub514\ubc14\uc774\uc2a4\uc5d0 \ud478\uc2dc \uba54\uc2dc\uc9c0\ub97c \ubc1c\uc1a1\ud569\ub2c8\ub2e4.", + "parameters": [ + { + "name": "X-Service-Code", + "in": "header", + "description": "\uc11c\ube44\uc2a4 \uc2dd\ubcc4 \ucf54\ub4dc", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PushSendTagRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/PushSendTagRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/PushSendTagRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/v1/in/push/schedule": { + "post": { + "tags": [ + "Push" + ], + "summary": "\uc608\uc57d \ubc1c\uc1a1", + "description": "\uc9c0\uc815 \uc2dc\uac04\uc5d0 \ud478\uc2dc \uba54\uc2dc\uc9c0 \ubc1c\uc1a1\uc744 \uc608\uc57d\ud569\ub2c8\ub2e4.", + "parameters": [ + { + "name": "X-Service-Code", + "in": "header", + "description": "\uc11c\ube44\uc2a4 \uc2dd\ubcc4 \ucf54\ub4dc", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PushScheduleRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/PushScheduleRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/PushScheduleRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/v1/in/push/schedule/cancel": { + "post": { + "tags": [ + "Push" + ], + "summary": "\uc608\uc57d \ucde8\uc18c", + "description": "\uc608\uc57d\ub41c \ubc1c\uc1a1\uc744 \ucde8\uc18c\ud569\ub2c8\ub2e4.", + "parameters": [ + { + "name": "X-Service-Code", + "in": "header", + "description": "\uc11c\ube44\uc2a4 \uc2dd\ubcc4 \ucf54\ub4dc", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PushScheduleCancelRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/PushScheduleCancelRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/PushScheduleCancelRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/v1/in/push/log": { + "post": { + "tags": [ + "Push" + ], + "summary": "\ubc1c\uc1a1 \ub85c\uadf8 \uc870\ud68c", + "description": "\ud478\uc2dc \ubc1c\uc1a1 \uc774\ub825\uc744 \ud398\uc774\uc9c0 \ub2e8\uc704\ub85c \uc870\ud68c\ud569\ub2c8\ub2e4.", + "parameters": [ + { + "name": "X-Service-Code", + "in": "header", + "description": "\uc11c\ube44\uc2a4 \uc2dd\ubcc4 \ucf54\ub4dc", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PushLogRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/PushLogRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/PushLogRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/v1/in/push/log/export": { + "post": { + "tags": [ + "Push" + ], + "summary": "\ubc1c\uc1a1 \ub85c\uadf8 \ub0b4\ubcf4\ub0b4\uae30", + "description": "\ubc1c\uc1a1 \ub85c\uadf8\ub97c CSV \ud30c\uc77c\ub85c \ub2e4\uc6b4\ub85c\ub4dc\ud569\ub2c8\ub2e4. \ucd5c\ub300 30\uc77c, 100,000\uac74.", + "parameters": [ + { + "name": "X-Service-Code", + "in": "header", + "description": "\uc11c\ube44\uc2a4 \uc2dd\ubcc4 \ucf54\ub4dc", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PushLogExportRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/PushLogExportRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/PushLogExportRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/v1/in/push/send/bulk": { + "post": { + "tags": [ + "Push" + ], + "summary": "\ub300\uc6a9\ub7c9 \ubc1c\uc1a1", + "description": "CSV \ud30c\uc77c\ub85c \ub300\ub7c9 \ud478\uc2dc \ubc1c\uc1a1\uc744 \uc694\uccad\ud569\ub2c8\ub2e4.", + "parameters": [ + { + "name": "X-Service-Code", + "in": "header", + "description": "\uc11c\ube44\uc2a4 \uc2dd\ubcc4 \ucf54\ub4dc", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "multipart/form-data": { + "schema": { + "type": "object", + "properties": { + "file": { + "type": "string", + "format": "binary" + }, + "message_code": { + "type": "string" + } + } + }, + "encoding": { + "file": { + "style": "form" + }, + "message_code": { + "style": "form" + } + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/v1/in/push/job/status": { + "post": { + "tags": [ + "Push" + ], + "summary": "\ubc1c\uc1a1 \uc0c1\ud0dc \uc870\ud68c", + "description": "\ub300\uc6a9\ub7c9/\ud0dc\uadf8 \ubc1c\uc1a1 \uc791\uc5c5\uc758 \uc0c1\ud0dc\ub97c \uc870\ud68c\ud569\ub2c8\ub2e4.", + "parameters": [ + { + "name": "X-Service-Code", + "in": "header", + "description": "\uc11c\ube44\uc2a4 \uc2dd\ubcc4 \ucf54\ub4dc", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/JobStatusRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/JobStatusRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/JobStatusRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/v1/in/push/job/cancel": { + "post": { + "tags": [ + "Push" + ], + "summary": "\ubc1c\uc1a1 \ucde8\uc18c", + "description": "\ub300\uae30 \uc911\uc774\uac70\ub098 \ucc98\ub9ac \uc911\uc778 \uc791\uc5c5\uc744 \ucde8\uc18c\ud569\ub2c8\ub2e4.", + "parameters": [ + { + "name": "X-Service-Code", + "in": "header", + "description": "\uc11c\ube44\uc2a4 \uc2dd\ubcc4 \ucf54\ub4dc", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/JobCancelRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/JobCancelRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/JobCancelRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/v1/in/service/name/check": { + "post": { + "tags": [ + "Service" + ], + "summary": "\uc11c\ube44\uc2a4\uba85 \uc911\ubcf5 \uccb4\ud06c", + "description": "\uc11c\ube44\uc2a4 \ub4f1\ub85d \uc804 \uc11c\ube44\uc2a4\uba85 \uc0ac\uc6a9 \uac00\ub2a5 \uc5ec\ubd80\ub97c \ud655\uc778\ud569\ub2c8\ub2e4.", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ServiceNameCheckRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ServiceNameCheckRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/ServiceNameCheckRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "\uc911\ubcf5 \uccb4\ud06c \uc131\uacf5", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ServiceNameCheckResponseDtoApiResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/ServiceNameCheckResponseDtoApiResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ServiceNameCheckResponseDtoApiResponse" + } + } + } + }, + "400": { + "description": "\uc798\ubabb\ub41c \uc694\uccad" + } + } + } + }, + "/v1/in/service/register": { + "post": { + "tags": [ + "Service" + ], + "summary": "\uc11c\ube44\uc2a4 \ud1b5\ud569 \ub4f1\ub85d", + "description": "\uc11c\ube44\uc2a4 \uc0dd\uc131\uacfc \ud50c\ub7ab\ud3fc \uc790\uaca9\uc99d\uba85 \ub4f1\ub85d\uc744 \ub2e8\uc77c \ud638\ucd9c\ub85c \uc644\ub8cc\ud569\ub2c8\ub2e4. FCM/APNs \uc790\uaca9\uc99d\uba85\uc740 \uc120\ud0dd\uc0ac\ud56d\uc774\uba70, \uc81c\uacf5 \uc2dc \uac80\uc99d \uc2e4\ud328\ud558\uba74 \uc804\uccb4 \ub864\ubc31\ub429\ub2c8\ub2e4. APNs\ub294 AuthType(p8/p12)\uc5d0 \ub530\ub77c \ud544\uc218 \ud544\ub4dc\uac00 \ub2ec\ub77c\uc9d1\ub2c8\ub2e4.", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RegisterServiceRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/RegisterServiceRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/RegisterServiceRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "\ub4f1\ub85d \uc131\uacf5", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/RegisterServiceResponseDtoApiResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/RegisterServiceResponseDtoApiResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/RegisterServiceResponseDtoApiResponse" + } + } + } + }, + "400": { + "description": "\uc798\ubabb\ub41c \uc694\uccad" + }, + "409": { + "description": "\uc11c\ube44\uc2a4\uba85 \uc911\ubcf5" + } + } + } + }, + "/v1/in/service/create": { + "post": { + "tags": [ + "Service" + ], + "summary": "\uc11c\ube44\uc2a4 \ub4f1\ub85d", + "description": "\uc0c8\ub85c\uc6b4 \uc11c\ube44\uc2a4\ub97c \ub4f1\ub85d\ud569\ub2c8\ub2e4. ServiceCode\uc640 API Key\uac00 \uc790\ub3d9 \uc0dd\uc131\ub418\uba70, API Key\ub294 \uc751\ub2f5\uc5d0\uc11c 1\ud68c\ub9cc \ud45c\uc2dc\ub429\ub2c8\ub2e4.", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateServiceRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/CreateServiceRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/CreateServiceRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "\ub4f1\ub85d \uc131\uacf5", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/CreateServiceResponseDtoApiResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateServiceResponseDtoApiResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/CreateServiceResponseDtoApiResponse" + } + } + } + }, + "400": { + "description": "\uc798\ubabb\ub41c \uc694\uccad" + }, + "401": { + "description": "\uc778\uc99d\ub418\uc9c0 \uc54a\uc740 \uc694\uccad" + }, + "403": { + "description": "\uad8c\ud55c \uc5c6\uc74c" + }, + "409": { + "description": "\uc774\ubbf8 \uc874\uc7ac\ud558\ub294 \uc11c\ube44\uc2a4\uba85" + } + } + } + }, + "/v1/in/service/update": { + "post": { + "tags": [ + "Service" + ], + "summary": "\uc11c\ube44\uc2a4 \uc218\uc815", + "description": "\uae30\uc874 \uc11c\ube44\uc2a4\uc758 \uc815\ubcf4\ub97c \uc218\uc815\ud569\ub2c8\ub2e4. \uc11c\ube44\uc2a4\uba85, \uc124\uba85, \uc6f9\ud6c5 URL, \ud0dc\uadf8, \uc0c1\ud0dc(Status)\ub97c \ubcc0\uacbd\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. Status \ud544\ub4dc(0=Active, 1=Suspended)\ub97c \ud568\uaed8 \uc804\ub2ec\ud558\uba74 \uc0c1\ud0dc\ub3c4 \uc6d0\uc790\uc801\uc73c\ub85c \ubcc0\uacbd\ub429\ub2c8\ub2e4.", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateServiceRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/UpdateServiceRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/UpdateServiceRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "\uc218\uc815 \uc131\uacf5", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ServiceResponseDtoApiResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/ServiceResponseDtoApiResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ServiceResponseDtoApiResponse" + } + } + } + }, + "400": { + "description": "\ubcc0\uacbd\ub41c \ub0b4\uc6a9 \uc5c6\uc74c" + }, + "401": { + "description": "\uc778\uc99d\ub418\uc9c0 \uc54a\uc740 \uc694\uccad" + }, + "403": { + "description": "\uad8c\ud55c \uc5c6\uc74c" + }, + "404": { + "description": "\uc11c\ube44\uc2a4\ub97c \ucc3e\uc744 \uc218 \uc5c6\uc74c" + }, + "409": { + "description": "\uc774\ubbf8 \uc874\uc7ac\ud558\ub294 \uc11c\ube44\uc2a4\uba85" + } + } + } + }, + "/v1/in/service/delete": { + "post": { + "tags": [ + "Service" + ], + "summary": "\uc11c\ube44\uc2a4 \uc0ad\uc81c", + "description": "\uc11c\ube44\uc2a4\ub97c Soft Delete \ucc98\ub9ac\ud569\ub2c8\ub2e4. IsDeleted=true, \uc0c1\ud0dc\ub97c Suspended\ub85c \ubcc0\uacbd\ud569\ub2c8\ub2e4.", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DeleteServiceRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/DeleteServiceRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/DeleteServiceRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "\uc0ad\uc81c \uc131\uacf5", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ApiResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ApiResponse" + } + } + } + }, + "401": { + "description": "\uc778\uc99d\ub418\uc9c0 \uc54a\uc740 \uc694\uccad" + }, + "403": { + "description": "\uad8c\ud55c \uc5c6\uc74c" + }, + "404": { + "description": "\uc11c\ube44\uc2a4\ub97c \ucc3e\uc744 \uc218 \uc5c6\uc74c" + }, + "409": { + "description": "\uc774\ubbf8 \uc0ad\uc81c\ub41c \uc11c\ube44\uc2a4" + } + } + } + }, + "/v1/in/service/list": { + "post": { + "tags": [ + "Service" + ], + "summary": "\uc11c\ube44\uc2a4 \ubaa9\ub85d \uc870\ud68c", + "description": "\ub4f1\ub85d\ub41c \uc11c\ube44\uc2a4 \ubaa9\ub85d\uc744 \uc870\ud68c\ud569\ub2c8\ub2e4. \ud398\uc774\uc9d5, \uac80\uc0c9, \uc0c1\ud0dc \ud544\ud130\ub97c \uc9c0\uc6d0\ud569\ub2c8\ub2e4. \uac01 \ud56d\ubaa9\uc5d0 platforms \ud544\ub4dc\ub85c Android/iOS \uc790\uaca9\uc99d\uba85 \uc0c1\ud0dc(credentialStatus: ok/warn/error)\ub97c \ud3ec\ud568\ud569\ub2c8\ub2e4.", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ServiceListRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ServiceListRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/ServiceListRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "\uc870\ud68c \uc131\uacf5", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ServiceListResponseDtoApiResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/ServiceListResponseDtoApiResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ServiceListResponseDtoApiResponse" + } + } + } + }, + "401": { + "description": "\uc778\uc99d\ub418\uc9c0 \uc54a\uc740 \uc694\uccad" + }, + "403": { + "description": "\uad8c\ud55c \uc5c6\uc74c" + } + } + } + }, + "/v1/in/service/{serviceCode}": { + "post": { + "tags": [ + "Service" + ], + "summary": "\uc11c\ube44\uc2a4 \uc0c1\uc138 \uc870\ud68c", + "description": "\ud2b9\uc815 \uc11c\ube44\uc2a4\uc758 \uc0c1\uc138 \uc815\ubcf4\ub97c \uc870\ud68c\ud569\ub2c8\ub2e4. API Key\ub294 \ub9c8\uc2a4\ud0b9(\uc55e 8\uc790+********)\ub418\uc5b4 \ubc18\ud658\ub418\uba70, \uc804\uccb4 \ud0a4 \uc870\ud68c\ub294 apikey/view \uc5d4\ub4dc\ud3ec\uc778\ud2b8\ub97c \uc0ac\uc6a9\ud569\ub2c8\ub2e4. apnsAuthType(p8/p12)\uacfc platforms \ud544\ub4dc\ub85c \uac01 \ud50c\ub7ab\ud3fc\uc758 \uc790\uaca9\uc99d\uba85 \uc0c1\ud0dc(credentialStatus: ok/warn/error), \ub9cc\ub8cc\uc77c(expiresAt) \uc815\ubcf4\ub97c \ud3ec\ud568\ud569\ub2c8\ub2e4.", + "parameters": [ + { + "name": "serviceCode", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "\uc870\ud68c \uc131\uacf5", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ServiceResponseDtoApiResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/ServiceResponseDtoApiResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ServiceResponseDtoApiResponse" + } + } + } + }, + "401": { + "description": "\uc778\uc99d\ub418\uc9c0 \uc54a\uc740 \uc694\uccad" + }, + "403": { + "description": "\uad8c\ud55c \uc5c6\uc74c" + }, + "404": { + "description": "\uc11c\ube44\uc2a4\ub97c \ucc3e\uc744 \uc218 \uc5c6\uc74c" + } + } + } + }, + "/v1/in/service/{serviceCode}/status": { + "post": { + "tags": [ + "Service" + ], + "summary": "\uc11c\ube44\uc2a4 \uc0c1\ud0dc \ubcc0\uacbd", + "description": "\uc11c\ube44\uc2a4\uc758 \uc0c1\ud0dc\ub97c \ubcc0\uacbd\ud569\ub2c8\ub2e4. (Active: 0, Suspended: 1)", + "parameters": [ + { + "name": "serviceCode", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ChangeServiceStatusRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ChangeServiceStatusRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/ChangeServiceStatusRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "\uc0c1\ud0dc \ubcc0\uacbd \uc131\uacf5", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ServiceResponseDtoApiResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/ServiceResponseDtoApiResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ServiceResponseDtoApiResponse" + } + } + } + }, + "400": { + "description": "\uc798\ubabb\ub41c \uc694\uccad \ub610\ub294 \uc774\ubbf8 \ud574\ub2f9 \uc0c1\ud0dc" + }, + "401": { + "description": "\uc778\uc99d\ub418\uc9c0 \uc54a\uc740 \uc694\uccad" + }, + "403": { + "description": "\uad8c\ud55c \uc5c6\uc74c" + }, + "404": { + "description": "\uc11c\ube44\uc2a4\ub97c \ucc3e\uc744 \uc218 \uc5c6\uc74c" + } + } + } + }, + "/v1/in/service/{serviceCode}/apikey/view": { + "post": { + "tags": [ + "Service" + ], + "summary": "API Key \uc804\uccb4 \uc870\ud68c", + "description": "\uc11c\ube44\uc2a4\uc758 API Key \uc804\uccb4 \uac12\uc744 \uc870\ud68c\ud569\ub2c8\ub2e4. \uc0c1\uc138 \uc870\ud68c \uc2dc \ub9c8\uc2a4\ud0b9\ub41c \ud0a4 \ub300\uc2e0 \uc804\uccb4 \ud0a4\ub97c \ud655\uc778\ud560 \ub54c \uc0ac\uc6a9\ud569\ub2c8\ub2e4. \ud0a4 \ud68c\uc804(\uc7ac\ubc1c\uae09) \uc5c6\uc774 \ud604\uc7ac \ud0a4\ub97c \ubc18\ud658\ud569\ub2c8\ub2e4.", + "parameters": [ + { + "name": "serviceCode", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "\uc870\ud68c \uc131\uacf5", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ApiKeyRefreshResponseDtoApiResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiKeyRefreshResponseDtoApiResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ApiKeyRefreshResponseDtoApiResponse" + } + } + } + }, + "401": { + "description": "\uc778\uc99d\ub418\uc9c0 \uc54a\uc740 \uc694\uccad" + }, + "403": { + "description": "\uad8c\ud55c \uc5c6\uc74c" + }, + "404": { + "description": "\uc11c\ube44\uc2a4\ub97c \ucc3e\uc744 \uc218 \uc5c6\uc74c" + } + } + } + }, + "/v1/in/service/{serviceCode}/apikey/refresh": { + "post": { + "tags": [ + "Service" + ], + "summary": "API Key \uc7ac\ubc1c\uae09", + "description": "\uc11c\ube44\uc2a4\uc758 API Key\ub97c \uc7ac\ubc1c\uae09\ud569\ub2c8\ub2e4. \uae30\uc874 \ud0a4\ub294 \uc989\uc2dc \ubb34\ud6a8\ud654\ub418\uba70, \uc0c8 \ud0a4\ub294 1\ud68c\ub9cc \ud45c\uc2dc\ub429\ub2c8\ub2e4.", + "parameters": [ + { + "name": "serviceCode", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "\uc7ac\ubc1c\uae09 \uc131\uacf5", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ApiKeyRefreshResponseDtoApiResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiKeyRefreshResponseDtoApiResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ApiKeyRefreshResponseDtoApiResponse" + } + } + } + }, + "401": { + "description": "\uc778\uc99d\ub418\uc9c0 \uc54a\uc740 \uc694\uccad" + }, + "403": { + "description": "\uad8c\ud55c \uc5c6\uc74c" + }, + "404": { + "description": "\uc11c\ube44\uc2a4\ub97c \ucc3e\uc744 \uc218 \uc5c6\uc74c" + } + } + } + }, + "/v1/in/service/{serviceCode}/apns": { + "post": { + "tags": [ + "Service" + ], + "summary": "APNs \ud0a4 \ub4f1\ub85d", + "description": "APNs \ud478\uc2dc \ubc1c\uc1a1\uc744 \uc704\ud55c \uc778\uc99d \uc815\ubcf4\ub97c \ub4f1\ub85d\ud569\ub2c8\ub2e4. AuthType=p8: Key ID(10\uc790\ub9ac), Team ID(10\uc790\ub9ac), Private Key(.p8) \ud544\uc218. AuthType=p12: CertificateBase64(Base64 \uc778\ucf54\ub529\ub41c .p12), CertPassword \ud544\uc218. \ud0c0\uc785 \uc804\ud658 \uc2dc \uc774\uc804 \ud0c0\uc785 \ud544\ub4dc\ub294 \uc790\ub3d9 \ucd08\uae30\ud654\ub429\ub2c8\ub2e4.", + "parameters": [ + { + "name": "serviceCode", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApnsCredentialsRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ApnsCredentialsRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/ApnsCredentialsRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "\ub4f1\ub85d \uc131\uacf5", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ApiResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ApiResponse" + } + } + } + }, + "400": { + "description": "\uc798\ubabb\ub41c \uc694\uccad (\uc720\ud6a8\ud558\uc9c0 \uc54a\uc740 \ud0a4/\uc778\uc99d\uc11c \ud615\uc2dd)" + }, + "401": { + "description": "\uc778\uc99d\ub418\uc9c0 \uc54a\uc740 \uc694\uccad" + }, + "403": { + "description": "\uad8c\ud55c \uc5c6\uc74c" + }, + "404": { + "description": "\uc11c\ube44\uc2a4\ub97c \ucc3e\uc744 \uc218 \uc5c6\uc74c" + } + } + } + }, + "/v1/in/service/{serviceCode}/fcm": { + "post": { + "tags": [ + "Service" + ], + "summary": "FCM \ud0a4 \ub4f1\ub85d", + "description": "FCM \ud478\uc2dc \ubc1c\uc1a1\uc744 \uc704\ud55c Service Account JSON\uc744 \ub4f1\ub85d\ud569\ub2c8\ub2e4. Firebase Console\uc5d0\uc11c \ub2e4\uc6b4\ub85c\ub4dc\ud55c service-account.json \ub0b4\uc6a9\uc774 \ud544\uc694\ud569\ub2c8\ub2e4.", + "parameters": [ + { + "name": "serviceCode", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FcmCredentialsRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/FcmCredentialsRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/FcmCredentialsRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "\ub4f1\ub85d \uc131\uacf5", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ApiResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ApiResponse" + } + } + } + }, + "400": { + "description": "\uc798\ubabb\ub41c \uc694\uccad (\uc720\ud6a8\ud558\uc9c0 \uc54a\uc740 JSON \ud615\uc2dd)" + }, + "401": { + "description": "\uc778\uc99d\ub418\uc9c0 \uc54a\uc740 \uc694\uccad" + }, + "403": { + "description": "\uad8c\ud55c \uc5c6\uc74c" + }, + "404": { + "description": "\uc11c\ube44\uc2a4\ub97c \ucc3e\uc744 \uc218 \uc5c6\uc74c" + } + } + } + }, + "/v1/in/service/{serviceCode}/apns/delete": { + "post": { + "tags": [ + "Service" + ], + "summary": "APNs \uc790\uaca9\uc99d\uba85 \uc0ad\uc81c", + "description": "\uc11c\ube44\uc2a4\uc5d0 \ub4f1\ub85d\ub41c APNs \uc790\uaca9\uc99d\uba85(BundleId, KeyId, TeamId, PrivateKey, Certificate \ub4f1)\uc744 \ubaa8\ub450 \uc0ad\uc81c\ud569\ub2c8\ub2e4.", + "parameters": [ + { + "name": "serviceCode", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "\uc0ad\uc81c \uc131\uacf5", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ApiResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ApiResponse" + } + } + } + }, + "401": { + "description": "\uc778\uc99d\ub418\uc9c0 \uc54a\uc740 \uc694\uccad" + }, + "403": { + "description": "\uad8c\ud55c \uc5c6\uc74c" + }, + "404": { + "description": "\uc11c\ube44\uc2a4 \ub610\ub294 \uc790\uaca9\uc99d\uba85\uc744 \ucc3e\uc744 \uc218 \uc5c6\uc74c" + } + } + } + }, + "/v1/in/service/{serviceCode}/fcm/delete": { + "post": { + "tags": [ + "Service" + ], + "summary": "FCM \uc790\uaca9\uc99d\uba85 \uc0ad\uc81c", + "description": "\uc11c\ube44\uc2a4\uc5d0 \ub4f1\ub85d\ub41c FCM Service Account JSON \uc790\uaca9\uc99d\uba85\uc744 \uc0ad\uc81c\ud569\ub2c8\ub2e4.", + "parameters": [ + { + "name": "serviceCode", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "\uc0ad\uc81c \uc131\uacf5", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ApiResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ApiResponse" + } + } + } + }, + "401": { + "description": "\uc778\uc99d\ub418\uc9c0 \uc54a\uc740 \uc694\uccad" + }, + "403": { + "description": "\uad8c\ud55c \uc5c6\uc74c" + }, + "404": { + "description": "\uc11c\ube44\uc2a4 \ub610\ub294 \uc790\uaca9\uc99d\uba85\uc744 \ucc3e\uc744 \uc218 \uc5c6\uc74c" + } + } + } + }, + "/v1/in/service/{serviceCode}/credentials": { + "post": { + "tags": [ + "Service" + ], + "summary": "\ud478\uc2dc \ud0a4 \uc815\ubcf4 \uc870\ud68c", + "description": "\uc11c\ube44\uc2a4\uc5d0 \ub4f1\ub85d\ub41c APNs/FCM \ud0a4\uc758 \uba54\ud0c0 \uc815\ubcf4\ub97c \uc870\ud68c\ud569\ub2c8\ub2e4. \ubbfc\uac10 \uc815\ubcf4(Private Key)\ub294 \ubc18\ud658\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uac01 \ud50c\ub7ab\ud3fc\ubcc4 credentialStatus(ok/warn/error/none)\uc640 statusReason \ud544\ub4dc\ub85c \uc790\uaca9\uc99d\uba85 \uc0c1\ud0dc \uc9c4\ub2e8 \uacb0\uacfc\ub97c \uc81c\uacf5\ud569\ub2c8\ub2e4.", + "parameters": [ + { + "name": "serviceCode", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "\uc870\ud68c \uc131\uacf5", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/CredentialsResponseDtoApiResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/CredentialsResponseDtoApiResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/CredentialsResponseDtoApiResponse" + } + } + } + }, + "401": { + "description": "\uc778\uc99d\ub418\uc9c0 \uc54a\uc740 \uc694\uccad" + }, + "403": { + "description": "\uad8c\ud55c \uc5c6\uc74c" + }, + "404": { + "description": "\uc11c\ube44\uc2a4\ub97c \ucc3e\uc744 \uc218 \uc5c6\uc74c" + } + } + } + }, + "/v1/in/service/tags/list": { + "post": { + "tags": [ + "Service" + ], + "summary": "\ud0dc\uadf8 \ubaa9\ub85d \uc870\ud68c", + "description": "\uc11c\ube44\uc2a4\uc5d0 \ub4f1\ub85d\ub41c \ud0dc\uadf8 \ubaa9\ub85d\uc744 \uc870\ud68c\ud569\ub2c8\ub2e4.", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ServiceTagsRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ServiceTagsRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/ServiceTagsRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "\uc870\ud68c \uc131\uacf5", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ServiceTagsResponseDtoApiResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/ServiceTagsResponseDtoApiResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ServiceTagsResponseDtoApiResponse" + } + } + } + }, + "401": { + "description": "\uc778\uc99d\ub418\uc9c0 \uc54a\uc740 \uc694\uccad" + }, + "403": { + "description": "\uad8c\ud55c \uc5c6\uc74c" + }, + "404": { + "description": "\uc11c\ube44\uc2a4\ub97c \ucc3e\uc744 \uc218 \uc5c6\uc74c" + } + } + } + }, + "/v1/in/service/tags/update": { + "post": { + "tags": [ + "Service" + ], + "summary": "\ud0dc\uadf8 \uc218\uc815", + "description": "\uc11c\ube44\uc2a4\uc758 \ud0dc\uadf8 \ubaa9\ub85d\uc744 \uc218\uc815\ud569\ub2c8\ub2e4. \ucd5c\ub300 10\uac1c\uae4c\uc9c0 \ub4f1\ub85d \uac00\ub2a5\ud569\ub2c8\ub2e4.", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateServiceTagsRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/UpdateServiceTagsRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/UpdateServiceTagsRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "\uc218\uc815 \uc131\uacf5", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ServiceTagsResponseDtoApiResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/ServiceTagsResponseDtoApiResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ServiceTagsResponseDtoApiResponse" + } + } + } + }, + "400": { + "description": "\uc798\ubabb\ub41c \uc694\uccad \ub610\ub294 \ubcc0\uacbd \uc5c6\uc74c" + }, + "401": { + "description": "\uc778\uc99d\ub418\uc9c0 \uc54a\uc740 \uc694\uccad" + }, + "403": { + "description": "\uad8c\ud55c \uc5c6\uc74c" + }, + "404": { + "description": "\uc11c\ube44\uc2a4\ub97c \ucc3e\uc744 \uc218 \uc5c6\uc74c" + } + } + } + }, + "/v1/in/service/webhook/config": { + "post": { + "tags": [ + "Service" + ], + "summary": "\uc6f9\ud6c5 \uc124\uc815", + "description": "\uc11c\ube44\uc2a4\uc758 \uc6f9\ud6c5 URL\uacfc \uad6c\ub3c5 \uc774\ubca4\ud2b8 \ud0c0\uc785\uc744 \uc124\uc815\ud569\ub2c8\ub2e4.", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/WebhookConfigRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/WebhookConfigRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/WebhookConfigRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/v1/in/service/webhook/info": { + "post": { + "tags": [ + "Service" + ], + "summary": "\uc6f9\ud6c5 \uc124\uc815 \uc870\ud68c", + "description": "\uc11c\ube44\uc2a4\uc758 \ud604\uc7ac \uc6f9\ud6c5 \uc124\uc815\uc744 \uc870\ud68c\ud569\ub2c8\ub2e4.", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/WebhookInfoRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/WebhookInfoRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/WebhookInfoRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/v1/in/service/{serviceCode}/ip/list": { + "post": { + "tags": [ + "Service" + ], + "summary": "IP \ud654\uc774\ud2b8\ub9ac\uc2a4\ud2b8 \uc870\ud68c", + "description": "\uc11c\ube44\uc2a4\uc5d0 \ub4f1\ub85d\ub41c IP \ud654\uc774\ud2b8\ub9ac\uc2a4\ud2b8 \ubaa9\ub85d\uc744 \uc870\ud68c\ud569\ub2c8\ub2e4.", + "parameters": [ + { + "name": "serviceCode", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "\uc870\ud68c \uc131\uacf5", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/IpListResponseDtoApiResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/IpListResponseDtoApiResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/IpListResponseDtoApiResponse" + } + } + } + }, + "401": { + "description": "\uc778\uc99d\ub418\uc9c0 \uc54a\uc740 \uc694\uccad" + }, + "403": { + "description": "\uad8c\ud55c \uc5c6\uc74c" + }, + "404": { + "description": "\uc11c\ube44\uc2a4\ub97c \ucc3e\uc744 \uc218 \uc5c6\uc74c" + } + } + } + }, + "/v1/in/service/{serviceCode}/ip/add": { + "post": { + "tags": [ + "Service" + ], + "summary": "IP \ucd94\uac00", + "description": "\uc11c\ube44\uc2a4\uc758 IP \ud654\uc774\ud2b8\ub9ac\uc2a4\ud2b8\uc5d0 \uc0c8 IP\ub97c \ucd94\uac00\ud569\ub2c8\ub2e4. IPv4 \ud615\uc2dd\ub9cc \uc9c0\uc6d0\ud569\ub2c8\ub2e4.", + "parameters": [ + { + "name": "serviceCode", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AddIpRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/AddIpRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/AddIpRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "\ucd94\uac00 \uc131\uacf5", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ServiceIpDtoApiResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/ServiceIpDtoApiResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ServiceIpDtoApiResponse" + } + } + } + }, + "400": { + "description": "\uc798\ubabb\ub41c \uc694\uccad (\uc720\ud6a8\ud558\uc9c0 \uc54a\uc740 IP \ud615\uc2dd)" + }, + "401": { + "description": "\uc778\uc99d\ub418\uc9c0 \uc54a\uc740 \uc694\uccad" + }, + "403": { + "description": "\uad8c\ud55c \uc5c6\uc74c" + }, + "404": { + "description": "\uc11c\ube44\uc2a4\ub97c \ucc3e\uc744 \uc218 \uc5c6\uc74c" + }, + "409": { + "description": "\uc774\ubbf8 \ub4f1\ub85d\ub41c IP" + } + } + } + }, + "/v1/in/service/{serviceCode}/ip/delete": { + "post": { + "tags": [ + "Service" + ], + "summary": "IP \uc0ad\uc81c", + "description": "\uc11c\ube44\uc2a4\uc758 IP \ud654\uc774\ud2b8\ub9ac\uc2a4\ud2b8\uc5d0\uc11c IP\ub97c \uc0ad\uc81c\ud569\ub2c8\ub2e4.", + "parameters": [ + { + "name": "serviceCode", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DeleteIpRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/DeleteIpRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/DeleteIpRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "\uc0ad\uc81c \uc131\uacf5", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ApiResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ApiResponse" + } + } + } + }, + "401": { + "description": "\uc778\uc99d\ub418\uc9c0 \uc54a\uc740 \uc694\uccad" + }, + "403": { + "description": "\uad8c\ud55c \uc5c6\uc74c" + }, + "404": { + "description": "\uc11c\ube44\uc2a4 \ub610\ub294 IP\ub97c \ucc3e\uc744 \uc218 \uc5c6\uc74c" + } + } + } + }, + "/v1/in/stats/daily": { + "post": { + "tags": [ + "Stats" + ], + "summary": "\uc77c\ubcc4 \ud1b5\uacc4 \uc870\ud68c", + "description": "\uae30\uac04\ubcc4 \uc77c\ubcc4 \ubc1c\uc1a1/\uc131\uacf5/\uc2e4\ud328/\uc5f4\ub78c \ud1b5\uacc4\ub97c \uc870\ud68c\ud569\ub2c8\ub2e4. X-Service-Code \ud5e4\ub354 \ubbf8\uc9c0\uc815 \uc2dc \uc804\uccb4 \uc11c\ube44\uc2a4 \ud1b5\uacc4\ub97c \uc870\ud68c\ud569\ub2c8\ub2e4.", + "parameters": [ + { + "name": "X-Service-Code", + "in": "header", + "description": "\uc11c\ube44\uc2a4 \uc2dd\ubcc4 \ucf54\ub4dc (\uad00\ub9ac\uc790: \ubbf8\uc9c0\uc815 \uc2dc \uc804\uccb4 \uc11c\ube44\uc2a4 \uc870\ud68c)", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DailyStatRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/DailyStatRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/DailyStatRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/v1/in/stats/summary": { + "post": { + "tags": [ + "Stats" + ], + "summary": "\uc694\uc57d \ud1b5\uacc4 \uc870\ud68c", + "description": "\ub300\uc2dc\ubcf4\ub4dc \uc694\uc57d \ud1b5\uacc4\ub97c \uc870\ud68c\ud569\ub2c8\ub2e4. X-Service-Code \ud5e4\ub354 \ubbf8\uc9c0\uc815 \uc2dc \uc804\uccb4 \uc11c\ube44\uc2a4 \ud1b5\uacc4\ub97c \uc870\ud68c\ud569\ub2c8\ub2e4.", + "parameters": [ + { + "name": "X-Service-Code", + "in": "header", + "description": "\uc11c\ube44\uc2a4 \uc2dd\ubcc4 \ucf54\ub4dc (\uad00\ub9ac\uc790: \ubbf8\uc9c0\uc815 \uc2dc \uc804\uccb4 \uc11c\ube44\uc2a4 \uc870\ud68c)", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/v1/in/stats/message": { + "post": { + "tags": [ + "Stats" + ], + "summary": "\uba54\uc2dc\uc9c0\ubcc4 \ud1b5\uacc4 \uc870\ud68c", + "description": "\ud2b9\uc815 \uba54\uc2dc\uc9c0\uc758 \ubc1c\uc1a1 \ud1b5\uacc4\ub97c \uc870\ud68c\ud569\ub2c8\ub2e4. X-Service-Code \ud5e4\ub354 \ubbf8\uc9c0\uc815 \uc2dc \uc804\uccb4 \uc11c\ube44\uc2a4 \ud1b5\uacc4\ub97c \uc870\ud68c\ud569\ub2c8\ub2e4.", + "parameters": [ + { + "name": "X-Service-Code", + "in": "header", + "description": "\uc11c\ube44\uc2a4 \uc2dd\ubcc4 \ucf54\ub4dc (\uad00\ub9ac\uc790: \ubbf8\uc9c0\uc815 \uc2dc \uc804\uccb4 \uc11c\ube44\uc2a4 \uc870\ud68c)", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MessageStatRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/MessageStatRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/MessageStatRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/v1/in/stats/hourly": { + "post": { + "tags": [ + "Stats" + ], + "summary": "\uc2dc\uac04\ub300\ubcc4 \ud1b5\uacc4 \uc870\ud68c", + "description": "\uc2dc\uac04\ub300\ubcc4 \ubc1c\uc1a1 \ucd94\uc774\ub97c \uc870\ud68c\ud569\ub2c8\ub2e4. X-Service-Code \ud5e4\ub354 \ubbf8\uc9c0\uc815 \uc2dc \uc804\uccb4 \uc11c\ube44\uc2a4 \ud1b5\uacc4\ub97c \uc870\ud68c\ud569\ub2c8\ub2e4.", + "parameters": [ + { + "name": "X-Service-Code", + "in": "header", + "description": "\uc11c\ube44\uc2a4 \uc2dd\ubcc4 \ucf54\ub4dc (\uad00\ub9ac\uc790: \ubbf8\uc9c0\uc815 \uc2dc \uc804\uccb4 \uc11c\ube44\uc2a4 \uc870\ud68c)", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HourlyStatRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/HourlyStatRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/HourlyStatRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/v1/in/stats/device": { + "post": { + "tags": [ + "Stats" + ], + "summary": "\ub514\ubc14\uc774\uc2a4 \ud1b5\uacc4 \uc870\ud68c", + "description": "\ud50c\ub7ab\ud3fc/\ubaa8\ub378\ubcc4 \ub514\ubc14\uc774\uc2a4 \ubd84\ud3ec\ub97c \uc870\ud68c\ud569\ub2c8\ub2e4. X-Service-Code \ud5e4\ub354 \ubbf8\uc9c0\uc815 \uc2dc \uc804\uccb4 \uc11c\ube44\uc2a4 \ud1b5\uacc4\ub97c \uc870\ud68c\ud569\ub2c8\ub2e4.", + "parameters": [ + { + "name": "X-Service-Code", + "in": "header", + "description": "\uc11c\ube44\uc2a4 \uc2dd\ubcc4 \ucf54\ub4dc (\uad00\ub9ac\uc790: \ubbf8\uc9c0\uc815 \uc2dc \uc804\uccb4 \uc11c\ube44\uc2a4 \uc870\ud68c)", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/v1/in/stats/export": { + "post": { + "tags": [ + "Stats" + ], + "summary": "\ud1b5\uacc4 \ub9ac\ud3ec\ud2b8 \ub2e4\uc6b4\ub85c\ub4dc", + "description": "\uc77c\ubcc4/\uc2dc\uac04\ub300\ubcc4/\ud50c\ub7ab\ud3fc\ubcc4 \ud1b5\uacc4\ub97c \uc5d1\uc140(.xlsx) \ud30c\uc77c\ub85c \ub2e4\uc6b4\ub85c\ub4dc\ud569\ub2c8\ub2e4. X-Service-Code \ud5e4\ub354 \ubbf8\uc9c0\uc815 \uc2dc \uc804\uccb4 \uc11c\ube44\uc2a4 \ud1b5\uacc4\ub97c \uc870\ud68c\ud569\ub2c8\ub2e4.", + "parameters": [ + { + "name": "X-Service-Code", + "in": "header", + "description": "\uc11c\ube44\uc2a4 \uc2dd\ubcc4 \ucf54\ub4dc (\uad00\ub9ac\uc790: \ubbf8\uc9c0\uc815 \uc2dc \uc804\uccb4 \uc11c\ube44\uc2a4 \uc870\ud68c)", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/StatsExportRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/StatsExportRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/StatsExportRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/v1/in/stats/failure": { + "post": { + "tags": [ + "Stats" + ], + "summary": "\uc2e4\ud328\uc6d0\uc778 \ud1b5\uacc4 \uc870\ud68c", + "description": "\uc2e4\ud328 \uc6d0\uc778\ubcc4 \uc9d1\uacc4\ub97c \uc0c1\uc704 N\uac1c\ub85c \uc870\ud68c\ud569\ub2c8\ub2e4. X-Service-Code \ud5e4\ub354 \ubbf8\uc9c0\uc815 \uc2dc \uc804\uccb4 \uc11c\ube44\uc2a4 \ud1b5\uacc4\ub97c \uc870\ud68c\ud569\ub2c8\ub2e4.", + "parameters": [ + { + "name": "X-Service-Code", + "in": "header", + "description": "\uc11c\ube44\uc2a4 \uc2dd\ubcc4 \ucf54\ub4dc (\uad00\ub9ac\uc790: \ubbf8\uc9c0\uc815 \uc2dc \uc804\uccb4 \uc11c\ube44\uc2a4 \uc870\ud68c)", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FailureStatRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/FailureStatRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/FailureStatRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/v1/in/stats/dashboard": { + "post": { + "tags": [ + "Stats" + ], + "summary": "\ub300\uc2dc\ubcf4\ub4dc \ud1b5\ud569 \uc870\ud68c", + "description": "KPI, \uc77c\ubcc4 \ucd94\uc774, \uc2dc\uac04\ub300\ubcc4 \ubd84\ud3ec, \ud50c\ub7ab\ud3fc \ube44\uc728, \uc0c1\uc704 \uba54\uc2dc\uc9c0\ub97c \ud55c\ubc88\uc5d0 \uc870\ud68c\ud569\ub2c8\ub2e4. X-Service-Code \ud5e4\ub354 \ubbf8\uc9c0\uc815 \uc2dc \uc804\uccb4 \uc11c\ube44\uc2a4 \ud1b5\uacc4\ub97c \uc870\ud68c\ud569\ub2c8\ub2e4.", + "parameters": [ + { + "name": "X-Service-Code", + "in": "header", + "description": "\uc11c\ube44\uc2a4 \uc2dd\ubcc4 \ucf54\ub4dc (\uad00\ub9ac\uc790: \ubbf8\uc9c0\uc815 \uc2dc \uc804\uccb4 \uc11c\ube44\uc2a4 \uc870\ud68c)", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DashboardRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/DashboardRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/DashboardRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/v1/in/stats/history/list": { + "post": { + "tags": [ + "Stats" + ], + "summary": "\uc774\ub825 \ubaa9\ub85d \uc870\ud68c", + "description": "\uba54\uc2dc\uc9c0\ubcc4 \ubc1c\uc1a1 \uc774\ub825 \ubaa9\ub85d\uc744 \uc870\ud68c\ud569\ub2c8\ub2e4. keyword/status/date \ud544\ud130\ub97c \uc9c0\uc6d0\ud569\ub2c8\ub2e4. X-Service-Code \ud5e4\ub354 \ubbf8\uc9c0\uc815 \uc2dc \uc804\uccb4 \uc11c\ube44\uc2a4 \uc774\ub825\uc744 \uc870\ud68c\ud569\ub2c8\ub2e4.", + "parameters": [ + { + "name": "X-Service-Code", + "in": "header", + "description": "\uc11c\ube44\uc2a4 \uc2dd\ubcc4 \ucf54\ub4dc (\uad00\ub9ac\uc790: \ubbf8\uc9c0\uc815 \uc2dc \uc804\uccb4 \uc11c\ube44\uc2a4 \uc870\ud68c)", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HistoryListRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/HistoryListRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/HistoryListRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/v1/in/stats/history/detail": { + "post": { + "tags": [ + "Stats" + ], + "summary": "\uc774\ub825 \uc0c1\uc138 \uc870\ud68c", + "description": "\ud2b9\uc815 \uba54\uc2dc\uc9c0\uc758 \ubc1c\uc1a1 \uc774\ub825 \uc0c1\uc138(\uae30\ubcf8\uc815\ubcf4+\uc9d1\uacc4+\uc2e4\ud328\uc0ac\uc720+\ubcf8\ubb38)\ub97c \uc870\ud68c\ud569\ub2c8\ub2e4. X-Service-Code \ud5e4\ub354 \ubbf8\uc9c0\uc815 \uc2dc \uc804\uccb4 \uc11c\ube44\uc2a4\uc5d0\uc11c \uac80\uc0c9\ud569\ub2c8\ub2e4.", + "parameters": [ + { + "name": "X-Service-Code", + "in": "header", + "description": "\uc11c\ube44\uc2a4 \uc2dd\ubcc4 \ucf54\ub4dc (\uad00\ub9ac\uc790: \ubbf8\uc9c0\uc815 \uc2dc \uc804\uccb4 \uc11c\ube44\uc2a4 \uc870\ud68c)", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HistoryDetailRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/HistoryDetailRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/HistoryDetailRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/v1/in/stats/history/export": { + "post": { + "tags": [ + "Stats" + ], + "summary": "\uc774\ub825 \uc5d1\uc140 \ub0b4\ubcf4\ub0b4\uae30", + "description": "\uc774\ub825 \ubaa9\ub85d\uacfc \ub3d9\uc77c\ud55c \ud544\ud130 \uae30\uc900\uc73c\ub85c \ubc1c\uc1a1 \uc774\ub825\uc744 \uc5d1\uc140(.xlsx)\ub85c \ub0b4\ubcf4\ub0c5\ub2c8\ub2e4. X-Service-Code \ud5e4\ub354 \ubbf8\uc9c0\uc815 \uc2dc \uc804\uccb4 \uc11c\ube44\uc2a4 \uc774\ub825\uc744 \ub0b4\ubcf4\ub0c5\ub2c8\ub2e4.", + "parameters": [ + { + "name": "X-Service-Code", + "in": "header", + "description": "\uc11c\ube44\uc2a4 \uc2dd\ubcc4 \ucf54\ub4dc (\uad00\ub9ac\uc790: \ubbf8\uc9c0\uc815 \uc2dc \uc804\uccb4 \uc11c\ube44\uc2a4 \uc870\ud68c)", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HistoryExportRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/HistoryExportRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/HistoryExportRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/v1/in/stats/send-log": { + "post": { + "tags": [ + "Stats" + ], + "summary": "\ubc1c\uc1a1 \uc0c1\uc138 \ub85c\uadf8 \uc870\ud68c", + "description": "\ud2b9\uc815 \uba54\uc2dc\uc9c0\uc758 \uac1c\ubcc4 \ub514\ubc14\uc774\uc2a4\ubcc4 \ubc1c\uc1a1 \uc0c1\uc138 \ub85c\uadf8\ub97c \uc870\ud68c\ud569\ub2c8\ub2e4. X-Service-Code \ud5e4\ub354 \ubbf8\uc9c0\uc815 \uc2dc \uc804\uccb4 \uc11c\ube44\uc2a4 \ud1b5\uacc4\ub97c \uc870\ud68c\ud569\ub2c8\ub2e4.", + "parameters": [ + { + "name": "X-Service-Code", + "in": "header", + "description": "\uc11c\ube44\uc2a4 \uc2dd\ubcc4 \ucf54\ub4dc (\uad00\ub9ac\uc790: \ubbf8\uc9c0\uc815 \uc2dc \uc804\uccb4 \uc11c\ube44\uc2a4 \uc870\ud68c)", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SendLogDetailRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/SendLogDetailRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/SendLogDetailRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/v1/in/tag/list": { + "post": { + "tags": [ + "Tag" + ], + "summary": "\ud0dc\uadf8 \ubaa9\ub85d \uc870\ud68c", + "description": "\ud0dc\uadf8 \ubaa9\ub85d\uc744 \ud398\uc774\uc9c0 \ub2e8\uc704\ub85c \uc870\ud68c\ud569\ub2c8\ub2e4. \uc11c\ube44\uc2a4 \ud544\ud130, \ud0a4\uc6cc\ub4dc \uac80\uc0c9, deviceCount\ub97c \ud3ec\ud568\ud569\ub2c8\ub2e4.", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TagListRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/TagListRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/TagListRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/v1/in/tag/create": { + "post": { + "tags": [ + "Tag" + ], + "summary": "\ud0dc\uadf8 \uc0dd\uc131", + "description": "\uc0c8 \ud0dc\uadf8\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4. \uc11c\ube44\uc2a4\ub2f9 \ucd5c\ub300 10\uac1c, \ub3d9\uc77c \uc11c\ube44\uc2a4 \ub0b4 \ud0dc\uadf8\uba85 \uc911\ubcf5 \ubd88\uac00.", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateTagRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/CreateTagRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/CreateTagRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/v1/in/tag/update": { + "post": { + "tags": [ + "Tag" + ], + "summary": "\ud0dc\uadf8 \uc218\uc815", + "description": "\ud0dc\uadf8 \uc124\uba85\uc744 \uc218\uc815\ud569\ub2c8\ub2e4. \ud0dc\uadf8\uba85(Name)\uc740 \ubcc0\uacbd \ubd88\uac00.", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateTagRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/UpdateTagRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/UpdateTagRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/v1/in/tag/delete": { + "post": { + "tags": [ + "Tag" + ], + "summary": "\ud0dc\uadf8 \uc0ad\uc81c", + "description": "\ud0dc\uadf8\ub97c \uc0ad\uc81c\ud569\ub2c8\ub2e4.", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DeleteTagRequestDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/DeleteTagRequestDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/DeleteTagRequestDto" + } + } + } + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/v1/in/public/terms": { + "post": { + "tags": [ + "Terms" + ], + "summary": "\uc774\uc6a9\uc57d\uad00", + "description": "\uc774\uc6a9\uc57d\uad00 URL\uc744 \uc870\ud68c\ud569\ub2c8\ub2e4.", + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/v1/in/public/privacy": { + "post": { + "tags": [ + "Terms" + ], + "summary": "\uac1c\uc778\uc815\ubcf4\ucc98\ub9ac\ubc29\uce68", + "description": "\uac1c\uc778\uc815\ubcf4\ucc98\ub9ac\ubc29\uce68 URL\uc744 \uc870\ud68c\ud569\ub2c8\ub2e4.", + "responses": { + "200": { + "description": "OK" + } + } + } + } + }, + "components": { + "schemas": { + "AccountListRequestDto": { + "type": "object", + "properties": { + "page": { + "maximum": 2147483647, + "minimum": 1, + "type": "integer", + "format": "int32" + }, + "pageSize": { + "maximum": 100, + "minimum": 1, + "type": "integer", + "format": "int32" + }, + "searchKeyword": { + "type": "string", + "nullable": true + }, + "role": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + "additionalProperties": false + }, + "AccountListResponseDto": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AccountResponseDto" + }, + "nullable": true + }, + "totalCount": { + "type": "integer", + "format": "int32" + }, + "page": { + "type": "integer", + "format": "int32" + }, + "pageSize": { + "type": "integer", + "format": "int32" + }, + "totalPages": { + "type": "integer", + "format": "int32", + "readOnly": true + } + }, + "additionalProperties": false + }, + "AccountListResponseDtoApiResponse": { + "type": "object", + "properties": { + "result": { + "type": "boolean" + }, + "code": { + "type": "string", + "nullable": true + }, + "msg": { + "type": "string", + "nullable": true + }, + "data": { + "$ref": "#/components/schemas/AccountListResponseDto" + } + }, + "additionalProperties": false + }, + "AccountResponseDto": { + "type": "object", + "properties": { + "adminCode": { + "type": "string", + "nullable": true + }, + "email": { + "type": "string", + "nullable": true + }, + "name": { + "type": "string", + "nullable": true + }, + "phone": { + "type": "string", + "nullable": true + }, + "role": { + "type": "string", + "nullable": true + }, + "emailVerified": { + "type": "boolean" + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "lastLoginAt": { + "type": "string", + "format": "date-time", + "nullable": true + } + }, + "additionalProperties": false + }, + "AccountResponseDtoApiResponse": { + "type": "object", + "properties": { + "result": { + "type": "boolean" + }, + "code": { + "type": "string", + "nullable": true + }, + "msg": { + "type": "string", + "nullable": true + }, + "data": { + "$ref": "#/components/schemas/AccountResponseDto" + } + }, + "additionalProperties": false + }, + "ActivityItemDto": { + "type": "object", + "properties": { + "activity_type": { + "type": "string", + "nullable": true + }, + "title": { + "type": "string", + "nullable": true + }, + "description": { + "type": "string", + "nullable": true + }, + "ip_address": { + "type": "string", + "nullable": true + }, + "occurred_at": { + "type": "string", + "format": "date-time" + } + }, + "additionalProperties": false + }, + "ActivityListRequestDto": { + "type": "object", + "properties": { + "page": { + "type": "integer", + "format": "int32" + }, + "size": { + "type": "integer", + "format": "int32" + }, + "from": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "to": { + "type": "string", + "format": "date-time", + "nullable": true + } + }, + "additionalProperties": false + }, + "ActivityListResponseDto": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ActivityItemDto" + }, + "nullable": true + }, + "pagination": { + "$ref": "#/components/schemas/PaginationDto" + } + }, + "additionalProperties": false + }, + "ActivityListResponseDtoApiResponse": { + "type": "object", + "properties": { + "result": { + "type": "boolean" + }, + "code": { + "type": "string", + "nullable": true + }, + "msg": { + "type": "string", + "nullable": true + }, + "data": { + "$ref": "#/components/schemas/ActivityListResponseDto" + } + }, + "additionalProperties": false + }, + "AddIpRequestDto": { + "required": [ + "ipAddress" + ], + "type": "object", + "properties": { + "ipAddress": { + "minLength": 1, + "pattern": "^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$", + "type": "string" + } + }, + "additionalProperties": false + }, + "AdminInfoDto": { + "type": "object", + "properties": { + "admin_code": { + "type": "string", + "nullable": true + }, + "email": { + "type": "string", + "nullable": true + }, + "name": { + "type": "string", + "nullable": true + }, + "role": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "ApiKeyRefreshResponseDto": { + "type": "object", + "properties": { + "serviceCode": { + "type": "string", + "nullable": true + }, + "apiKey": { + "type": "string", + "nullable": true + }, + "apiKeyCreatedAt": { + "type": "string", + "format": "date-time" + } + }, + "additionalProperties": false + }, + "ApiKeyRefreshResponseDtoApiResponse": { + "type": "object", + "properties": { + "result": { + "type": "boolean" + }, + "code": { + "type": "string", + "nullable": true + }, + "msg": { + "type": "string", + "nullable": true + }, + "data": { + "$ref": "#/components/schemas/ApiKeyRefreshResponseDto" + } + }, + "additionalProperties": false + }, + "ApiResponse": { + "type": "object", + "properties": { + "result": { + "type": "boolean" + }, + "code": { + "type": "string", + "nullable": true + }, + "msg": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "ApnsCredentialDto": { + "required": [ + "authType", + "bundleId" + ], + "type": "object", + "properties": { + "bundleId": { + "minLength": 1, + "type": "string" + }, + "authType": { + "minLength": 1, + "pattern": "^(p8|p12)$", + "type": "string" + }, + "keyId": { + "maxLength": 10, + "minLength": 10, + "type": "string", + "nullable": true + }, + "teamId": { + "maxLength": 10, + "minLength": 10, + "type": "string", + "nullable": true + }, + "privateKey": { + "type": "string", + "nullable": true + }, + "certificateBase64": { + "type": "string", + "nullable": true + }, + "certPassword": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "ApnsCredentialsInfoDto": { + "type": "object", + "properties": { + "bundleId": { + "type": "string", + "nullable": true + }, + "authType": { + "type": "string", + "nullable": true + }, + "keyId": { + "type": "string", + "nullable": true + }, + "teamId": { + "type": "string", + "nullable": true + }, + "hasPrivateKey": { + "type": "boolean" + }, + "hasCertificate": { + "type": "boolean" + }, + "certExpiresAt": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "credentialStatus": { + "type": "string", + "nullable": true + }, + "statusReason": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "ApnsCredentialsRequestDto": { + "required": [ + "authType", + "bundleId" + ], + "type": "object", + "properties": { + "bundleId": { + "minLength": 1, + "type": "string" + }, + "authType": { + "minLength": 1, + "pattern": "^(p8|p12)$", + "type": "string" + }, + "keyId": { + "maxLength": 10, + "minLength": 10, + "type": "string", + "nullable": true + }, + "teamId": { + "maxLength": 10, + "minLength": 10, + "type": "string", + "nullable": true + }, + "privateKey": { + "type": "string", + "nullable": true + }, + "certificateBase64": { + "type": "string", + "nullable": true + }, + "certPassword": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "AppVersionRequestDto": { + "type": "object", + "properties": { + "platform": { + "type": "string", + "nullable": true + }, + "app_version": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "BannerListRequestDto": { + "type": "object", + "properties": { + "position": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "ChangePasswordRequestDto": { + "required": [ + "currentPassword", + "newPassword" + ], + "type": "object", + "properties": { + "currentPassword": { + "minLength": 1, + "type": "string" + }, + "newPassword": { + "maxLength": 64, + "minLength": 8, + "pattern": "^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[!@#$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>\\/?]).{8,}$", + "type": "string" + } + }, + "additionalProperties": false + }, + "ChangePasswordResponseDto": { + "type": "object", + "properties": { + "re_login_required": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "ChangePasswordResponseDtoApiResponse": { + "type": "object", + "properties": { + "result": { + "type": "boolean" + }, + "code": { + "type": "string", + "nullable": true + }, + "msg": { + "type": "string", + "nullable": true + }, + "data": { + "$ref": "#/components/schemas/ChangePasswordResponseDto" + } + }, + "additionalProperties": false + }, + "ChangeServiceStatusRequestDto": { + "required": [ + "status" + ], + "type": "object", + "properties": { + "status": { + "maximum": 1, + "minimum": 0, + "type": "integer", + "format": "int32" + } + }, + "additionalProperties": false + }, + "CreateAccountRequestDto": { + "required": [ + "email", + "name", + "password", + "role" + ], + "type": "object", + "properties": { + "email": { + "minLength": 1, + "type": "string", + "format": "email" + }, + "password": { + "minLength": 8, + "type": "string" + }, + "name": { + "minLength": 1, + "type": "string" + }, + "phone": { + "type": "string", + "format": "tel", + "nullable": true + }, + "role": { + "maximum": 2, + "minimum": 1, + "type": "integer", + "format": "int32" + } + }, + "additionalProperties": false + }, + "CreateServiceRequestDto": { + "required": [ + "serviceName" + ], + "type": "object", + "properties": { + "serviceName": { + "maxLength": 100, + "minLength": 2, + "type": "string" + }, + "description": { + "maxLength": 500, + "minLength": 0, + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "CreateServiceResponseDto": { + "type": "object", + "properties": { + "serviceCode": { + "type": "string", + "nullable": true + }, + "apiKey": { + "type": "string", + "nullable": true + }, + "apiKeyCreatedAt": { + "type": "string", + "format": "date-time" + } + }, + "additionalProperties": false + }, + "CreateServiceResponseDtoApiResponse": { + "type": "object", + "properties": { + "result": { + "type": "boolean" + }, + "code": { + "type": "string", + "nullable": true + }, + "msg": { + "type": "string", + "nullable": true + }, + "data": { + "$ref": "#/components/schemas/CreateServiceResponseDto" + } + }, + "additionalProperties": false + }, + "CreateTagRequestDto": { + "required": [ + "service_id", + "tag_name" + ], + "type": "object", + "properties": { + "service_id": { + "type": "integer", + "format": "int64" + }, + "tag_name": { + "maxLength": 50, + "minLength": 1, + "type": "string" + }, + "description": { + "maxLength": 200, + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "CredentialsResponseDto": { + "type": "object", + "properties": { + "apns": { + "$ref": "#/components/schemas/ApnsCredentialsInfoDto" + }, + "fcm": { + "$ref": "#/components/schemas/FcmCredentialsInfoDto" + } + }, + "additionalProperties": false + }, + "CredentialsResponseDtoApiResponse": { + "type": "object", + "properties": { + "result": { + "type": "boolean" + }, + "code": { + "type": "string", + "nullable": true + }, + "msg": { + "type": "string", + "nullable": true + }, + "data": { + "$ref": "#/components/schemas/CredentialsResponseDto" + } + }, + "additionalProperties": false + }, + "CsvTemplateRequestDto": { + "required": [ + "message_code" + ], + "type": "object", + "properties": { + "message_code": { + "minLength": 1, + "type": "string" + } + }, + "additionalProperties": false + }, + "DailyStatRequestDto": { + "type": "object", + "properties": { + "start_date": { + "type": "string", + "nullable": true + }, + "end_date": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "DashboardRequestDto": { + "type": "object", + "properties": { + "start_date": { + "type": "string", + "nullable": true + }, + "end_date": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "DeleteIpRequestDto": { + "required": [ + "ipId" + ], + "type": "object", + "properties": { + "ipId": { + "type": "integer", + "format": "int64" + } + }, + "additionalProperties": false + }, + "DeleteServiceRequestDto": { + "required": [ + "service_code" + ], + "type": "object", + "properties": { + "service_code": { + "minLength": 1, + "type": "string" + } + }, + "additionalProperties": false + }, + "DeleteTagRequestDto": { + "required": [ + "tag_code" + ], + "type": "object", + "properties": { + "tag_code": { + "minLength": 1, + "type": "string" + } + }, + "additionalProperties": false + }, + "DeviceAgreeRequestDto": { + "required": [ + "device_id", + "marketing_agreed", + "push_agreed" + ], + "type": "object", + "properties": { + "device_id": { + "type": "integer", + "format": "int64" + }, + "push_agreed": { + "type": "boolean" + }, + "marketing_agreed": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "DeviceDeleteRequestDto": { + "required": [ + "device_id" + ], + "type": "object", + "properties": { + "device_id": { + "type": "integer", + "format": "int64" + } + }, + "additionalProperties": false + }, + "DeviceExportRequestDto": { + "type": "object", + "properties": { + "platform": { + "type": "string", + "nullable": true + }, + "push_agreed": { + "type": "boolean", + "nullable": true + }, + "tags": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + "is_active": { + "type": "boolean", + "nullable": true + }, + "keyword": { + "type": "string", + "nullable": true + }, + "marketing_agreed": { + "type": "boolean", + "nullable": true + } + }, + "additionalProperties": false + }, + "DeviceInfoRequestDto": { + "required": [ + "device_id" + ], + "type": "object", + "properties": { + "device_id": { + "type": "integer", + "format": "int64" + } + }, + "additionalProperties": false + }, + "DeviceListRequestDto": { + "type": "object", + "properties": { + "page": { + "type": "integer", + "format": "int32" + }, + "size": { + "type": "integer", + "format": "int32" + }, + "platform": { + "type": "string", + "nullable": true + }, + "push_agreed": { + "type": "boolean", + "nullable": true + }, + "tags": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + "is_active": { + "type": "boolean", + "nullable": true + }, + "keyword": { + "type": "string", + "nullable": true + }, + "marketing_agreed": { + "type": "boolean", + "nullable": true + } + }, + "additionalProperties": false + }, + "DeviceRegisterRequestDto": { + "required": [ + "device_token", + "platform" + ], + "type": "object", + "properties": { + "device_token": { + "minLength": 1, + "type": "string" + }, + "platform": { + "minLength": 1, + "type": "string" + }, + "os_version": { + "type": "string", + "nullable": true + }, + "app_version": { + "type": "string", + "nullable": true + }, + "model": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "DeviceTagsRequestDto": { + "required": [ + "device_id", + "tags" + ], + "type": "object", + "properties": { + "device_id": { + "type": "integer", + "format": "int64" + }, + "tags": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "additionalProperties": false + }, + "DeviceUpdateRequestDto": { + "required": [ + "device_id" + ], + "type": "object", + "properties": { + "device_id": { + "type": "integer", + "format": "int64" + }, + "device_token": { + "type": "string", + "nullable": true + }, + "os_version": { + "type": "string", + "nullable": true + }, + "app_version": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "EmailCheckRequestDto": { + "required": [ + "email" + ], + "type": "object", + "properties": { + "email": { + "minLength": 1, + "type": "string", + "format": "email" + } + }, + "additionalProperties": false + }, + "EmailCheckResponseDto": { + "type": "object", + "properties": { + "email": { + "type": "string", + "nullable": true + }, + "is_available": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "EmailCheckResponseDtoApiResponse": { + "type": "object", + "properties": { + "result": { + "type": "boolean" + }, + "code": { + "type": "string", + "nullable": true + }, + "msg": { + "type": "string", + "nullable": true + }, + "data": { + "$ref": "#/components/schemas/EmailCheckResponseDto" + } + }, + "additionalProperties": false + }, + "EmailResendRequestDto": { + "required": [ + "verify_session_id" + ], + "type": "object", + "properties": { + "verify_session_id": { + "minLength": 1, + "type": "string" + } + }, + "additionalProperties": false + }, + "EmailResendResponseDto": { + "type": "object", + "properties": { + "resent": { + "type": "boolean" + }, + "cooldown_seconds": { + "type": "integer", + "format": "int32" + }, + "expires_in_seconds": { + "type": "integer", + "format": "int32" + } + }, + "additionalProperties": false + }, + "EmailResendResponseDtoApiResponse": { + "type": "object", + "properties": { + "result": { + "type": "boolean" + }, + "code": { + "type": "string", + "nullable": true + }, + "msg": { + "type": "string", + "nullable": true + }, + "data": { + "$ref": "#/components/schemas/EmailResendResponseDto" + } + }, + "additionalProperties": false + }, + "EmailVerifyRequestDto": { + "required": [ + "code" + ], + "type": "object", + "properties": { + "verify_session_id": { + "type": "string", + "nullable": true + }, + "email": { + "type": "string", + "format": "email", + "nullable": true + }, + "code": { + "minLength": 1, + "type": "string" + } + }, + "additionalProperties": false + }, + "EmailVerifyResponseDto": { + "type": "object", + "properties": { + "verified": { + "type": "boolean" + }, + "next_action": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "EmailVerifyResponseDtoApiResponse": { + "type": "object", + "properties": { + "result": { + "type": "boolean" + }, + "code": { + "type": "string", + "nullable": true + }, + "msg": { + "type": "string", + "nullable": true + }, + "data": { + "$ref": "#/components/schemas/EmailVerifyResponseDto" + } + }, + "additionalProperties": false + }, + "FailureStatRequestDto": { + "required": [ + "end_date", + "start_date" + ], + "type": "object", + "properties": { + "start_date": { + "minLength": 1, + "type": "string" + }, + "end_date": { + "minLength": 1, + "type": "string" + }, + "limit": { + "maximum": 20, + "minimum": 1, + "type": "integer", + "format": "int32" + } + }, + "additionalProperties": false + }, + "FaqListRequestDto": { + "type": "object", + "properties": { + "category": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "FcmCredentialDto": { + "required": [ + "serviceAccountJson" + ], + "type": "object", + "properties": { + "serviceAccountJson": { + "minLength": 1, + "type": "string" + } + }, + "additionalProperties": false + }, + "FcmCredentialsInfoDto": { + "type": "object", + "properties": { + "projectId": { + "type": "string", + "nullable": true + }, + "hasCredentials": { + "type": "boolean" + }, + "credentialStatus": { + "type": "string", + "nullable": true + }, + "statusReason": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "FcmCredentialsRequestDto": { + "required": [ + "serviceAccountJson" + ], + "type": "object", + "properties": { + "serviceAccountJson": { + "minLength": 1, + "type": "string" + } + }, + "additionalProperties": false + }, + "FileDeleteRequestDto": { + "required": [ + "file_id" + ], + "type": "object", + "properties": { + "file_id": { + "type": "integer", + "format": "int64" + } + }, + "additionalProperties": false + }, + "FileInfoRequestDto": { + "required": [ + "file_id" + ], + "type": "object", + "properties": { + "file_id": { + "type": "integer", + "format": "int64" + } + }, + "additionalProperties": false + }, + "FileListRequestDto": { + "type": "object", + "properties": { + "page": { + "type": "integer", + "format": "int32" + }, + "size": { + "type": "integer", + "format": "int32" + }, + "file_type": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "HistoryDetailRequestDto": { + "required": [ + "message_code" + ], + "type": "object", + "properties": { + "message_code": { + "minLength": 1, + "type": "string" + } + }, + "additionalProperties": false + }, + "HistoryExportRequestDto": { + "type": "object", + "properties": { + "keyword": { + "type": "string", + "nullable": true + }, + "status": { + "type": "string", + "nullable": true + }, + "start_date": { + "type": "string", + "nullable": true + }, + "end_date": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "HistoryListRequestDto": { + "type": "object", + "properties": { + "page": { + "type": "integer", + "format": "int32" + }, + "size": { + "type": "integer", + "format": "int32" + }, + "keyword": { + "type": "string", + "nullable": true + }, + "status": { + "type": "string", + "nullable": true + }, + "start_date": { + "type": "string", + "nullable": true + }, + "end_date": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "HourlyStatRequestDto": { + "type": "object", + "properties": { + "start_date": { + "type": "string", + "nullable": true + }, + "end_date": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "IpListResponseDto": { + "type": "object", + "properties": { + "serviceCode": { + "type": "string", + "nullable": true + }, + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ServiceIpDto" + }, + "nullable": true + }, + "totalCount": { + "type": "integer", + "format": "int32" + } + }, + "additionalProperties": false + }, + "IpListResponseDtoApiResponse": { + "type": "object", + "properties": { + "result": { + "type": "boolean" + }, + "code": { + "type": "string", + "nullable": true + }, + "msg": { + "type": "string", + "nullable": true + }, + "data": { + "$ref": "#/components/schemas/IpListResponseDto" + } + }, + "additionalProperties": false + }, + "JobCancelRequestDto": { + "type": "object", + "properties": { + "job_id": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "JobStatusRequestDto": { + "type": "object", + "properties": { + "job_id": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "LoginRequestDto": { + "required": [ + "email", + "password" + ], + "type": "object", + "properties": { + "email": { + "minLength": 1, + "type": "string", + "format": "email" + }, + "password": { + "minLength": 1, + "type": "string" + } + }, + "additionalProperties": false + }, + "LoginResponseDto": { + "type": "object", + "properties": { + "access_token": { + "type": "string", + "nullable": true + }, + "refresh_token": { + "type": "string", + "nullable": true + }, + "expires_in": { + "type": "integer", + "format": "int32" + }, + "next_action": { + "type": "string", + "nullable": true + }, + "email_verified": { + "type": "boolean" + }, + "verify_session_id": { + "type": "string", + "nullable": true + }, + "email_sent": { + "type": "boolean", + "nullable": true + }, + "must_change_password": { + "type": "boolean", + "nullable": true + }, + "admin": { + "$ref": "#/components/schemas/AdminInfoDto" + } + }, + "additionalProperties": false + }, + "LoginResponseDtoApiResponse": { + "type": "object", + "properties": { + "result": { + "type": "boolean" + }, + "code": { + "type": "string", + "nullable": true + }, + "msg": { + "type": "string", + "nullable": true + }, + "data": { + "$ref": "#/components/schemas/LoginResponseDto" + } + }, + "additionalProperties": false + }, + "LogoutResponseDto": { + "type": "object", + "properties": { + "logged_out": { + "type": "boolean" + }, + "redirect_to": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "LogoutResponseDtoApiResponse": { + "type": "object", + "properties": { + "result": { + "type": "boolean" + }, + "code": { + "type": "string", + "nullable": true + }, + "msg": { + "type": "string", + "nullable": true + }, + "data": { + "$ref": "#/components/schemas/LogoutResponseDto" + } + }, + "additionalProperties": false + }, + "MessageDeleteRequestDto": { + "type": "object", + "properties": { + "message_code": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "MessageInfoRequestDto": { + "type": "object", + "properties": { + "message_code": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "MessageListRequestDto": { + "type": "object", + "properties": { + "page": { + "type": "integer", + "format": "int32" + }, + "size": { + "type": "integer", + "format": "int32" + }, + "keyword": { + "type": "string", + "nullable": true + }, + "is_active": { + "type": "boolean", + "nullable": true + }, + "service_code": { + "type": "string", + "nullable": true + }, + "send_status": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "MessagePreviewRequestDto": { + "type": "object", + "properties": { + "message_code": { + "type": "string", + "nullable": true + }, + "variables": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "nullable": true + } + }, + "additionalProperties": false + }, + "MessageSaveRequestDto": { + "type": "object", + "properties": { + "title": { + "type": "string", + "nullable": true + }, + "body": { + "type": "string", + "nullable": true + }, + "image_url": { + "type": "string", + "nullable": true + }, + "link_url": { + "type": "string", + "nullable": true + }, + "link_type": { + "type": "string", + "nullable": true + }, + "data": { + "nullable": true + } + }, + "additionalProperties": false + }, + "MessageStatRequestDto": { + "type": "object", + "properties": { + "message_code": { + "type": "string", + "nullable": true + }, + "start_date": { + "type": "string", + "nullable": true + }, + "end_date": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "MessageValidateRequestDto": { + "required": [ + "body", + "title" + ], + "type": "object", + "properties": { + "title": { + "minLength": 1, + "type": "string" + }, + "body": { + "minLength": 1, + "type": "string" + }, + "image_url": { + "type": "string", + "nullable": true + }, + "link_url": { + "type": "string", + "nullable": true + }, + "link_type": { + "type": "string", + "nullable": true + }, + "data": { + "nullable": true + } + }, + "additionalProperties": false + }, + "NoticeInfoRequestDto": { + "required": [ + "notice_id" + ], + "type": "object", + "properties": { + "notice_id": { + "type": "integer", + "format": "int64" + } + }, + "additionalProperties": false + }, + "NoticeListRequestDto": { + "type": "object", + "properties": { + "page": { + "maximum": 2147483647, + "minimum": 1, + "type": "integer", + "format": "int32" + }, + "size": { + "maximum": 100, + "minimum": 1, + "type": "integer", + "format": "int32" + } + }, + "additionalProperties": false + }, + "NotificationListRequestDto": { + "type": "object", + "properties": { + "page": { + "type": "integer", + "format": "int32" + }, + "size": { + "type": "integer", + "format": "int32" + }, + "category": { + "type": "string", + "nullable": true + }, + "from": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "to": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "is_read": { + "type": "boolean", + "nullable": true + } + }, + "additionalProperties": false + }, + "NotificationReadRequestDto": { + "required": [ + "notification_id" + ], + "type": "object", + "properties": { + "notification_id": { + "type": "integer", + "format": "int64" + } + }, + "additionalProperties": false + }, + "NotificationSummaryRequestDto": { + "type": "object", + "properties": { + "limit": { + "type": "integer", + "format": "int32" + } + }, + "additionalProperties": false + }, + "OperatorCreateRequestDto": { + "required": [ + "email", + "name", + "role" + ], + "type": "object", + "properties": { + "email": { + "minLength": 1, + "type": "string", + "format": "email" + }, + "name": { + "minLength": 1, + "type": "string" + }, + "phone": { + "type": "string", + "format": "tel", + "nullable": true + }, + "role": { + "maximum": 2, + "minimum": 1, + "type": "integer", + "format": "int32" + } + }, + "additionalProperties": false + }, + "OperatorCreateResponseDto": { + "type": "object", + "properties": { + "admin_code": { + "type": "string", + "nullable": true + }, + "email": { + "type": "string", + "nullable": true + }, + "role": { + "type": "integer", + "format": "int32" + } + }, + "additionalProperties": false + }, + "OperatorCreateResponseDtoApiResponse": { + "type": "object", + "properties": { + "result": { + "type": "boolean" + }, + "code": { + "type": "string", + "nullable": true + }, + "msg": { + "type": "string", + "nullable": true + }, + "data": { + "$ref": "#/components/schemas/OperatorCreateResponseDto" + } + }, + "additionalProperties": false + }, + "OperatorDeleteRequestDto": { + "required": [ + "admin_code" + ], + "type": "object", + "properties": { + "admin_code": { + "minLength": 1, + "type": "string" + } + }, + "additionalProperties": false + }, + "OperatorItemDto": { + "type": "object", + "properties": { + "admin_code": { + "type": "string", + "nullable": true + }, + "email": { + "type": "string", + "nullable": true + }, + "name": { + "type": "string", + "nullable": true + }, + "role": { + "type": "integer", + "format": "int32" + }, + "is_active": { + "type": "boolean" + }, + "last_login_at": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "created_at": { + "type": "string", + "format": "date-time" + } + }, + "additionalProperties": false + }, + "OperatorListRequestDto": { + "type": "object", + "properties": { + "page": { + "type": "integer", + "format": "int32" + }, + "size": { + "type": "integer", + "format": "int32" + }, + "role": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "is_active": { + "type": "boolean", + "nullable": true + } + }, + "additionalProperties": false + }, + "OperatorListResponseDto": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/OperatorItemDto" + }, + "nullable": true + }, + "pagination": { + "$ref": "#/components/schemas/PaginationDto" + } + }, + "additionalProperties": false + }, + "OperatorListResponseDtoApiResponse": { + "type": "object", + "properties": { + "result": { + "type": "boolean" + }, + "code": { + "type": "string", + "nullable": true + }, + "msg": { + "type": "string", + "nullable": true + }, + "data": { + "$ref": "#/components/schemas/OperatorListResponseDto" + } + }, + "additionalProperties": false + }, + "OperatorPasswordResetRequestDto": { + "required": [ + "admin_code" + ], + "type": "object", + "properties": { + "admin_code": { + "minLength": 1, + "type": "string" + } + }, + "additionalProperties": false + }, + "PaginationDto": { + "type": "object", + "properties": { + "page": { + "type": "integer", + "format": "int32" + }, + "size": { + "type": "integer", + "format": "int32" + }, + "total_count": { + "type": "integer", + "format": "int32" + }, + "total_pages": { + "type": "integer", + "format": "int32" + } + }, + "additionalProperties": false + }, + "PasswordForgotRequestDto": { + "required": [ + "email" + ], + "type": "object", + "properties": { + "email": { + "minLength": 1, + "type": "string", + "format": "email" + } + }, + "additionalProperties": false + }, + "PasswordResetRequestDto": { + "required": [ + "email", + "new_password", + "reset_token" + ], + "type": "object", + "properties": { + "email": { + "minLength": 1, + "type": "string", + "format": "email" + }, + "reset_token": { + "minLength": 1, + "type": "string" + }, + "new_password": { + "minLength": 8, + "type": "string" + } + }, + "additionalProperties": false + }, + "PlatformCredentialSummaryDto": { + "type": "object", + "properties": { + "registered": { + "type": "boolean" + }, + "credentialStatus": { + "type": "string", + "nullable": true + }, + "statusReason": { + "type": "string", + "nullable": true + }, + "expiresAt": { + "type": "string", + "format": "date-time", + "nullable": true + } + }, + "additionalProperties": false + }, + "PlatformResultDto": { + "type": "object", + "properties": { + "android": { + "$ref": "#/components/schemas/PlatformStatusDto" + }, + "ios": { + "$ref": "#/components/schemas/PlatformStatusDto" + } + }, + "additionalProperties": false + }, + "PlatformStatusDto": { + "type": "object", + "properties": { + "registered": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "PlatformSummaryDto": { + "type": "object", + "properties": { + "android": { + "$ref": "#/components/schemas/PlatformCredentialSummaryDto" + }, + "ios": { + "$ref": "#/components/schemas/PlatformCredentialSummaryDto" + } + }, + "additionalProperties": false + }, + "ProfileResponseDto": { + "type": "object", + "properties": { + "admin_code": { + "type": "string", + "nullable": true + }, + "email": { + "type": "string", + "nullable": true + }, + "name": { + "type": "string", + "nullable": true + }, + "phone": { + "type": "string", + "nullable": true + }, + "role": { + "type": "integer", + "format": "int32" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "last_login_at": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "organization": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "ProfileResponseDtoApiResponse": { + "type": "object", + "properties": { + "result": { + "type": "boolean" + }, + "code": { + "type": "string", + "nullable": true + }, + "msg": { + "type": "string", + "nullable": true + }, + "data": { + "$ref": "#/components/schemas/ProfileResponseDto" + } + }, + "additionalProperties": false + }, + "PushLogExportRequestDto": { + "required": [ + "end_date", + "start_date" + ], + "type": "object", + "properties": { + "message_code": { + "type": "string", + "nullable": true + }, + "device_id": { + "type": "integer", + "format": "int64", + "nullable": true + }, + "status": { + "type": "string", + "nullable": true + }, + "start_date": { + "minLength": 1, + "type": "string" + }, + "end_date": { + "minLength": 1, + "type": "string" + } + }, + "additionalProperties": false + }, + "PushLogRequestDto": { + "type": "object", + "properties": { + "page": { + "type": "integer", + "format": "int32" + }, + "size": { + "type": "integer", + "format": "int32" + }, + "message_code": { + "type": "string", + "nullable": true + }, + "device_id": { + "type": "integer", + "format": "int64", + "nullable": true + }, + "status": { + "type": "string", + "nullable": true + }, + "start_date": { + "type": "string", + "nullable": true + }, + "end_date": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "PushScheduleCancelRequestDto": { + "required": [ + "scheduleId" + ], + "type": "object", + "properties": { + "scheduleId": { + "minLength": 1, + "type": "string" + } + }, + "additionalProperties": false + }, + "PushScheduleRequestDto": { + "required": [ + "messageCode", + "scheduledAt", + "sendType" + ], + "type": "object", + "properties": { + "messageCode": { + "minLength": 1, + "type": "string" + }, + "sendType": { + "minLength": 1, + "type": "string" + }, + "deviceId": { + "type": "integer", + "format": "int64", + "nullable": true + }, + "tags": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + "scheduledAt": { + "minLength": 1, + "type": "string" + }, + "variables": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "nullable": true + } + }, + "additionalProperties": false + }, + "PushSendRequestDto": { + "required": [ + "deviceId", + "messageCode" + ], + "type": "object", + "properties": { + "messageCode": { + "minLength": 1, + "type": "string" + }, + "deviceId": { + "type": "integer", + "format": "int64" + }, + "variables": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "nullable": true + } + }, + "additionalProperties": false + }, + "PushSendTagRequestDto": { + "required": [ + "messageCode", + "tags" + ], + "type": "object", + "properties": { + "messageCode": { + "minLength": 1, + "type": "string" + }, + "tags": { + "minItems": 1, + "type": "array", + "items": { + "type": "string" + } + }, + "tagMatch": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "RegisterServiceRequestDto": { + "required": [ + "serviceName" + ], + "type": "object", + "properties": { + "serviceName": { + "maxLength": 100, + "minLength": 2, + "type": "string" + }, + "description": { + "maxLength": 500, + "minLength": 0, + "type": "string", + "nullable": true + }, + "fcm": { + "$ref": "#/components/schemas/FcmCredentialDto" + }, + "apns": { + "$ref": "#/components/schemas/ApnsCredentialDto" + } + }, + "additionalProperties": false + }, + "RegisterServiceResponseDto": { + "type": "object", + "properties": { + "serviceCode": { + "type": "string", + "nullable": true + }, + "serviceName": { + "type": "string", + "nullable": true + }, + "apiKey": { + "type": "string", + "nullable": true + }, + "apiKeyCreatedAt": { + "type": "string", + "format": "date-time" + }, + "status": { + "type": "string", + "nullable": true + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "platforms": { + "$ref": "#/components/schemas/PlatformResultDto" + } + }, + "additionalProperties": false + }, + "RegisterServiceResponseDtoApiResponse": { + "type": "object", + "properties": { + "result": { + "type": "boolean" + }, + "code": { + "type": "string", + "nullable": true + }, + "msg": { + "type": "string", + "nullable": true + }, + "data": { + "$ref": "#/components/schemas/RegisterServiceResponseDto" + } + }, + "additionalProperties": false + }, + "SendLogDetailRequestDto": { + "required": [ + "message_code" + ], + "type": "object", + "properties": { + "message_code": { + "minLength": 1, + "type": "string" + }, + "status": { + "type": "string", + "nullable": true + }, + "platform": { + "type": "string", + "nullable": true + }, + "page": { + "type": "integer", + "format": "int32" + }, + "size": { + "type": "integer", + "format": "int32" + } + }, + "additionalProperties": false + }, + "ServiceIpDto": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64" + }, + "ipAddress": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "ServiceIpDtoApiResponse": { + "type": "object", + "properties": { + "result": { + "type": "boolean" + }, + "code": { + "type": "string", + "nullable": true + }, + "msg": { + "type": "string", + "nullable": true + }, + "data": { + "$ref": "#/components/schemas/ServiceIpDto" + } + }, + "additionalProperties": false + }, + "ServiceListRequestDto": { + "type": "object", + "properties": { + "page": { + "maximum": 2147483647, + "minimum": 1, + "type": "integer", + "format": "int32" + }, + "pageSize": { + "maximum": 100, + "minimum": 1, + "type": "integer", + "format": "int32" + }, + "searchKeyword": { + "type": "string", + "nullable": true + }, + "status": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + "additionalProperties": false + }, + "ServiceListResponseDto": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ServiceSummaryDto" + }, + "nullable": true + }, + "totalCount": { + "type": "integer", + "format": "int32" + }, + "page": { + "type": "integer", + "format": "int32" + }, + "pageSize": { + "type": "integer", + "format": "int32" + }, + "totalPages": { + "type": "integer", + "format": "int32", + "readOnly": true + } + }, + "additionalProperties": false + }, + "ServiceListResponseDtoApiResponse": { + "type": "object", + "properties": { + "result": { + "type": "boolean" + }, + "code": { + "type": "string", + "nullable": true + }, + "msg": { + "type": "string", + "nullable": true + }, + "data": { + "$ref": "#/components/schemas/ServiceListResponseDto" + } + }, + "additionalProperties": false + }, + "ServiceNameCheckRequestDto": { + "required": [ + "serviceName" + ], + "type": "object", + "properties": { + "serviceName": { + "maxLength": 100, + "minLength": 1, + "type": "string" + } + }, + "additionalProperties": false + }, + "ServiceNameCheckResponseDto": { + "type": "object", + "properties": { + "serviceName": { + "type": "string", + "nullable": true + }, + "isAvailable": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "ServiceNameCheckResponseDtoApiResponse": { + "type": "object", + "properties": { + "result": { + "type": "boolean" + }, + "code": { + "type": "string", + "nullable": true + }, + "msg": { + "type": "string", + "nullable": true + }, + "data": { + "$ref": "#/components/schemas/ServiceNameCheckResponseDto" + } + }, + "additionalProperties": false + }, + "ServiceResponseDto": { + "type": "object", + "properties": { + "serviceCode": { + "type": "string", + "nullable": true + }, + "serviceName": { + "type": "string", + "nullable": true + }, + "description": { + "type": "string", + "nullable": true + }, + "apiKey": { + "type": "string", + "nullable": true + }, + "apiKeyCreatedAt": { + "type": "string", + "format": "date-time" + }, + "apnsBundleId": { + "type": "string", + "nullable": true + }, + "apnsKeyId": { + "type": "string", + "nullable": true + }, + "apnsTeamId": { + "type": "string", + "nullable": true + }, + "apnsAuthType": { + "type": "string", + "nullable": true + }, + "hasApnsKey": { + "type": "boolean" + }, + "hasFcmCredentials": { + "type": "boolean" + }, + "platforms": { + "$ref": "#/components/schemas/PlatformSummaryDto" + }, + "webhookUrl": { + "type": "string", + "nullable": true + }, + "tags": { + "type": "string", + "nullable": true + }, + "subTier": { + "type": "string", + "nullable": true + }, + "subStartedAt": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "status": { + "type": "string", + "nullable": true + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "createdByName": { + "type": "string", + "nullable": true + }, + "updatedAt": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "deviceCount": { + "type": "integer", + "format": "int32" + }, + "allowedIps": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + } + }, + "additionalProperties": false + }, + "ServiceResponseDtoApiResponse": { + "type": "object", + "properties": { + "result": { + "type": "boolean" + }, + "code": { + "type": "string", + "nullable": true + }, + "msg": { + "type": "string", + "nullable": true + }, + "data": { + "$ref": "#/components/schemas/ServiceResponseDto" + } + }, + "additionalProperties": false + }, + "ServiceSummaryDto": { + "type": "object", + "properties": { + "serviceCode": { + "type": "string", + "nullable": true + }, + "serviceName": { + "type": "string", + "nullable": true + }, + "description": { + "type": "string", + "nullable": true + }, + "subTier": { + "type": "string", + "nullable": true + }, + "status": { + "type": "string", + "nullable": true + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "deviceCount": { + "type": "integer", + "format": "int32" + }, + "platforms": { + "$ref": "#/components/schemas/PlatformSummaryDto" + } + }, + "additionalProperties": false + }, + "ServiceTagsRequestDto": { + "required": [ + "service_code" + ], + "type": "object", + "properties": { + "service_code": { + "minLength": 1, + "type": "string" + } + }, + "additionalProperties": false + }, + "ServiceTagsResponseDto": { + "type": "object", + "properties": { + "service_code": { + "type": "string", + "nullable": true + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TagItemDto" + }, + "nullable": true + }, + "total_count": { + "type": "integer", + "format": "int32" + } + }, + "additionalProperties": false + }, + "ServiceTagsResponseDtoApiResponse": { + "type": "object", + "properties": { + "result": { + "type": "boolean" + }, + "code": { + "type": "string", + "nullable": true + }, + "msg": { + "type": "string", + "nullable": true + }, + "data": { + "$ref": "#/components/schemas/ServiceTagsResponseDto" + } + }, + "additionalProperties": false + }, + "SignupRequestDto": { + "required": [ + "agreePrivacy", + "agreeTerms", + "email", + "name", + "password", + "phone" + ], + "type": "object", + "properties": { + "email": { + "minLength": 1, + "type": "string", + "format": "email" + }, + "password": { + "minLength": 8, + "type": "string" + }, + "name": { + "maxLength": 50, + "minLength": 0, + "type": "string" + }, + "phone": { + "maxLength": 20, + "minLength": 0, + "type": "string" + }, + "agreeTerms": { + "type": "boolean" + }, + "agreePrivacy": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "SignupResponseDto": { + "type": "object", + "properties": { + "admin_code": { + "type": "string", + "nullable": true + }, + "email": { + "type": "string", + "nullable": true + }, + "verify_session_id": { + "type": "string", + "nullable": true + }, + "email_sent": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "SignupResponseDtoApiResponse": { + "type": "object", + "properties": { + "result": { + "type": "boolean" + }, + "code": { + "type": "string", + "nullable": true + }, + "msg": { + "type": "string", + "nullable": true + }, + "data": { + "$ref": "#/components/schemas/SignupResponseDto" + } + }, + "additionalProperties": false + }, + "StatsExportRequestDto": { + "required": [ + "end_date", + "start_date" + ], + "type": "object", + "properties": { + "start_date": { + "minLength": 1, + "type": "string" + }, + "end_date": { + "minLength": 1, + "type": "string" + } + }, + "additionalProperties": false + }, + "TagItemDto": { + "type": "object", + "properties": { + "tag_index": { + "type": "integer", + "format": "int32" + }, + "tag_name": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "TagListRequestDto": { + "type": "object", + "properties": { + "service_id": { + "type": "integer", + "format": "int64", + "nullable": true + }, + "keyword": { + "type": "string", + "nullable": true + }, + "page": { + "type": "integer", + "format": "int32" + }, + "size": { + "type": "integer", + "format": "int32" + } + }, + "additionalProperties": false + }, + "TempPasswordRequestDto": { + "required": [ + "email" + ], + "type": "object", + "properties": { + "email": { + "minLength": 1, + "type": "string", + "format": "email" + } + }, + "additionalProperties": false + }, + "TokenRefreshRequestDto": { + "required": [ + "refresh_token" + ], + "type": "object", + "properties": { + "refresh_token": { + "minLength": 1, + "type": "string" + } + }, + "additionalProperties": false + }, + "TokenRefreshResponseDto": { + "type": "object", + "properties": { + "access_token": { + "type": "string", + "nullable": true + }, + "refresh_token": { + "type": "string", + "nullable": true + }, + "expires_in": { + "type": "integer", + "format": "int32" + } + }, + "additionalProperties": false + }, + "TokenRefreshResponseDtoApiResponse": { + "type": "object", + "properties": { + "result": { + "type": "boolean" + }, + "code": { + "type": "string", + "nullable": true + }, + "msg": { + "type": "string", + "nullable": true + }, + "data": { + "$ref": "#/components/schemas/TokenRefreshResponseDto" + } + }, + "additionalProperties": false + }, + "UpdateAccountRequestDto": { + "required": [ + "name", + "role" + ], + "type": "object", + "properties": { + "name": { + "minLength": 1, + "type": "string" + }, + "phone": { + "type": "string", + "format": "tel", + "nullable": true + }, + "role": { + "maximum": 2, + "minimum": 1, + "type": "integer", + "format": "int32" + } + }, + "additionalProperties": false + }, + "UpdateProfileRequestDto": { + "type": "object", + "properties": { + "name": { + "maxLength": 50, + "minLength": 0, + "type": "string", + "nullable": true + }, + "phone": { + "maxLength": 20, + "minLength": 0, + "type": "string", + "format": "tel", + "nullable": true + }, + "organization": { + "maxLength": 100, + "minLength": 0, + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "UpdateServiceRequestDto": { + "required": [ + "serviceCode" + ], + "type": "object", + "properties": { + "serviceCode": { + "minLength": 1, + "type": "string" + }, + "serviceName": { + "maxLength": 100, + "minLength": 0, + "type": "string", + "nullable": true + }, + "description": { + "maxLength": 500, + "minLength": 0, + "type": "string", + "nullable": true + }, + "webhookUrl": { + "maxLength": 500, + "minLength": 0, + "type": "string", + "nullable": true + }, + "tags": { + "type": "string", + "nullable": true + }, + "status": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + "additionalProperties": false + }, + "UpdateServiceTagsRequestDto": { + "required": [ + "service_code", + "tags" + ], + "type": "object", + "properties": { + "service_code": { + "minLength": 1, + "type": "string" + }, + "tags": { + "maxItems": 10, + "type": "array", + "items": { + "type": "string" + } + } + }, + "additionalProperties": false + }, + "UpdateTagRequestDto": { + "required": [ + "tag_code" + ], + "type": "object", + "properties": { + "tag_code": { + "minLength": 1, + "type": "string" + }, + "description": { + "maxLength": 200, + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, + "WebhookConfigRequestDto": { + "required": [ + "service_code" + ], + "type": "object", + "properties": { + "service_code": { + "minLength": 1, + "type": "string" + }, + "webhook_url": { + "type": "string", + "format": "uri", + "nullable": true + }, + "events": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + } + }, + "additionalProperties": false + }, + "WebhookInfoRequestDto": { + "required": [ + "service_code" + ], + "type": "object", + "properties": { + "service_code": { + "minLength": 1, + "type": "string" + } + }, + "additionalProperties": false + } + }, + "securitySchemes": { + "Bearer": { + "type": "http", + "description": "JWT Bearer Token\uc744 \uc785\ub825\ud558\uc138\uc694. \uc608: {token}", + "scheme": "bearer", + "bearerFormat": "JWT" + } + } + }, + "security": [ + { + "Bearer": [] + } + ] +}