--- title: "updateApplication" slug: "pub-single-sign-on-v2-application-updateapplication" updated: 2026-10-05T09:29:07Z published: 2026-10-06T09:47:36Z canonical: "api.ncloud-docs.com/pub-single-sign-on-v2-application-updateapplication" --- > ## Documentation Index > Fetch the complete documentation index at: https://api.ncloud-docs.com/llms.txt > Use this file to discover all available pages before exploring further. # updateApplication 이 가이드는 API 명세를 기반으로 AI가 자동 생성했습니다. Classic/VPC 환경에서 이용 가능합니다. Ncloud 표준 표현을 적용한 API입니다. Application 정보를 수정합니다. 요청 본문에 포함하지 않은 필드는 값이 삭제되므로, 유지할 값도 함께 전달해야 합니다. ## 요청 요청 형식을 설명합니다. 요청 형식은 다음과 같습니다. | 메서드 | URI | | --- | --- | | PUT | /applications/{applicationId} | ### 요청 헤더 Ncloud Single Sign-On API에서 공통으로 사용하는 헤더에 대한 정보는 [Ncloud Single Sign-On 요청 헤더](/docs/pub-single-sign-on-v2-overview#%EC%9A%94%EC%B2%AD%ED%97%A4%EB%8D%94)를 참조해 주십시오. ### 요청 경로 파라미터 요청 경로 파라미터에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `applicationId` | String (uuid) | Required | Application 아이디 - <예시> 6f708192-6666-4f01-9234-56789abcdef0 | ### 요청 바디 요청 바디에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `name` | String | Required | Application 이름. 이름 중복은 대소문자를 구분하여 검사합니다(예: App 과 app 은 다른 이름). - 패턴: `^[A-Za-z]+[A-Za-z0-9_\-\.]*$` - 길이: 2 ~ 100 - <예시> example-name | | `description` | String \| null | Optional | Application 설명 - 길이: ~ 500 - <예시> example description | | `applicationUrl` | String (uri) \| null | Optional | Application URL - 길이: ~ 1,000 - <예시> https://sso.example.com | | `applicationType` | String | Optional | Application 유형 - `WEB` \| `APP` - WEB: 웹 - APP: 앱 - <예시> WEB | | `memberLoginPolicy` | String | Required | 메인 계정 로그인 허용 여부 - `ALLOW` \| `DENY` - ALLOW: 허용 - DENY: 거부 - <예시> ALLOW | | `clientAuthMethod` | String | Required | OAuth 클라이언트 인증 방식 - `client_secret_basic` \| `client_secret_post` \| `none` - client_secret_basic: Client 자격 증명을 HTTP Basic 인증 헤더로 전달 - client_secret_post: Client 아이디와 Secret을 POST 요청 본문에 포함 - none: 인증 안 함 - <예시> client_secret_basic | | `redirectUris` | List | Optional | Application 리디렉션 URI 목록 - 항목 수: 1 ~ 50 - 항목 <예시> https://example.com/callback | | `postLogoutRedirectUris` | List | Optional | OIDC RP-Initiated Logout 시 허용할 post_logout_redirect_uri 화이트리스트 - 항목 수: ~ 50 - 항목 <예시> https://example.com/logout | | `accessType` | String | Required | OAuth 클라이언트 접근 유형 - `confidential` \| `public` - confidential: Client 아이디 및 Secret으로 인증 후 접근 - public: Client 아이디로 인증 후 접근 - <예시> confidential | | `grantTypes` | List | Required | 권한 부여 방식 - 항목 `authorization_code` \| `implicit` \| `refresh_token` \| `client_credentials` \| `password` - authorization_code: 자체 생성한 Authorization code로 Access Token 발급 - implicit: Authorization code 없이 바로 Access Token 발급. 자격 증명을 안전하게 저장하기 힘든 Client 환경에 최적화 - refresh_token: Access Token 만료 후 재로그인 없이 새 Access Token 발급 - client_credentials: 사용자 개입 없이 Client 자격 증명만으로 Access Token 발급 - password: 사용자의 아이디와 비밀번호로 직접 Access Token 발급 | | `scopes` | List | Optional | Application 접근 가능 정보 범위 - 항목 `openid` \| `offline_access` \| `email` \| `address` \| `phone` \| `profile` \| `groups` - openid: 계정 구분, 로그인 아이디, 회원 고유 식별자, 사용자 이름 - profile: 계정 구분, 로그인 아이디, 회원 고유 식별자, 사용자 이름 - email: 계정 구분, 로그인 아이디, 회원 고유 식별자, 사용자 이름, 이메일 - groups: 계정 구분, 로그인 아이디, 회원 고유 식별자, 사용자 이름, 그룹 - phone: 전화번호 - address: 주소 - offline_access: Refresh Token 발급 | | `accessTokenValiditySeconds` | Integer (int64) \| null | Optional | Access Token 유효 기간(초) - 범위: 1 ~ 43,200 - <예시> 43200 | | `refreshTokenValiditySeconds` | Integer (int64) \| null | Optional | Refresh Token 유효 기간(초) - 범위: 1 ~ 2,592,000 - <예시> 2592000 | | `consentPage` | Object<[ConsentPageV2](/docs/pub-single-sign-on-v2-application-updateapplication#ConsentPageV2)> | Required | 개인 정보 제공 동의 페이지 정보 | | `protocol` | String | Required | 프로토콜 - `OAUTH2` - OAUTH2: OAuth 2.0 - <예시> OAUTH2 | #### ConsentPageV2 개인 정보 제공 동의 페이지 정보 | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `applicationName` | Map | Required | 제공받는 자 정보 - 키 `ko` \| `ja` \| `en` | | `applicationName.<키>` | String | - | 해당 언어의 제공받는 자 - <예시> Ncloud Single Sign-On | | `useLanguages` | List | Required | 사용 언어 목록 - 항목 `ko` \| `ja` \| `en` - ko: 한국어 - en: 영어 - ja: 일본어 | | `defaultLanguage` | String | Required | 기본 언어 - `ko` \| `ja` \| `en` - ko: 한국어 - en: 영어 - ja: 일본어 - <예시> ko | | `usePurposeDescription` | Map | Required | 이용 목적 정보 - 키 `ko` \| `ja` \| `en` | | `usePurposeDescription.<키>` | String | - | 해당 언어의 이용 목적 - <예시> 서비스 제공 및 계정 관리 | | `usePeriodDescription` | Map | Required | 보유 및 이용 기간 정보 - 키 `ko` \| `ja` \| `en` | | `usePeriodDescription.<키>` | String | - | 해당 언어의 보유 및 이용 기간 - <예시> 회원 탈퇴 시까지 | | `dataTransferredAbroad` | Boolean | Required | 개인정보 국외 이전 여부 - `true` \| `false` - true: 이전 - false: 이전 안 함 - <예시> true | | `dataTransferCountry` | Map | Optional | 이전되는 국가 정보 - 키 `ko` \| `ja` \| `en` | | `dataTransferCountry.<키>` | String | - | 해당 언어의 이전되는 국가 - <예시> 대한민국 | | `dataRecipients` | Map | Optional | 이전 받는 자 정보 - 키 `ko` \| `ja` \| `en` | | `dataRecipients.<키>` | String | - | 해당 언어의 이전 받는 법인 이름 - <예시> 네이버클라우드 주식회사 | | `dataRecipientsContact` | Map | Optional | 이전 받는 자의 연락처 정보 - 키 `ko` \| `ja` \| `en` | | `dataRecipientsContact.<키>` | String | - | 해당 언어의 이전 받는 법인의 개인정보 관리자 연락처 - <예시> privacy@example.com | ### 요청 예시 요청 예시는 다음과 같습니다. ``` curl --location --request PUT 'https://sso.apigw.ntruss.com/api/v2/applications/6f708192-6666-4f01-9234-56789abcdef0' \ --header 'x-ncp-apigw-timestamp: {Timestamp}' \ --header 'x-ncp-iam-access-key: {Access Key}' \ --header 'x-ncp-apigw-signature-v2: {API Gateway Signature}' \ --header 'Content-Type: application/json' \ --data '{ "name": "example-name", "memberLoginPolicy": "ALLOW", "clientAuthMethod": "client_secret_basic", "accessType": "confidential", "grantTypes": [ "authorization_code" ], "consentPage": { "applicationName": {}, "useLanguages": [ "ko" ], "defaultLanguage": "ko", "usePurposeDescription": {}, "usePeriodDescription": {}, "dataTransferredAbroad": true }, "protocol": "OAUTH2" }' ``` ## 응답 응답 형식을 설명합니다. ### 응답 바디 응답 바디에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `applicationId` | String (uuid) | - | Application 아이디 - <예시> 6f708192-6666-4f01-9234-56789abcdef0 | | `name` | String | - | Application 이름 - <예시> example-name | | `description` | String | - | Application 설명 - <예시> example description | | `applicationUrl` | String (uri) | - | Application 바로 가기 URL - <예시> https://sso.example.com | | `applicationType` | String | - | Application 유형 - `APP` \| `WEB` - WEB: 웹 - APP: 앱 - <예시> APP | | `memberLoginPolicy` | String | - | 메인 계정 로그인 허용 여부. Tenant 설정이 UNUSED인 경우 Application별 설정 값이 반환됩니다 - `ALLOW` \| `DENY` \| `UNUSED` - ALLOW: 허용 - DENY: 거부 - UNUSED: 미설정 - <예시> ALLOW | | `createdDateTime` | String (date-time) | - | Application 생성 일시 - <예시> 2025-01-02T09:00:00Z | | `updatedDateTime` | String (date-time) | - | Application 수정 일시 - <예시> 2025-01-02T09:00:00Z | | `clientId` | String | - | Application Client 아이디 - <예시> 8d9e0f10-8888-4123-9456-789abcdef012 | | `clientAuthMethod` | String | - | Application 인증 방식 - `client_secret_basic` \| `client_secret_post` \| `none` - client_secret_basic: Client 자격 증명을 HTTP Basic 인증 헤더로 전달 - client_secret_post: Client 아이디와 Secret을 POST 요청 본문에 포함 - none: 인증 안 함 - <예시> client_secret_basic | | `redirectUris` | List | - | Application 리디렉션 URI 목록 - 항목 <예시> https://example.com/callback | | `postLogoutRedirectUris` | List | - | OIDC RP-Initiated Logout post_logout_redirect_uri 화이트리스트 - 항목 <예시> https://example.com/logout | | `accessType` | String | - | Application 접근 방식 - `public` \| `confidential` - confidential: Client 아이디 및 Secret으로 인증 후 접근 - public: Client 아이디로 인증 후 접근 - <예시> public | | `grantTypes` | List | - | 권한 부여 방식 - 항목 `authorization_code` \| `implicit` \| `refresh_token` \| `client_credentials` \| `password` - authorization_code: 자체 생성한 Authorization code로 Access Token 발급 - implicit: Authorization code 없이 바로 Access Token 발급. 자격 증명을 안전하게 저장하기 힘든 Client 환경에 최적화 - refresh_token: Access Token 만료 후 재로그인 없이 새 Access Token 발급 - client_credentials: 사용자 개입 없이 Client 자격 증명만으로 Access Token 발급 - password: 사용자의 아이디와 비밀번호로 직접 Access Token 발급 | | `scopes` | List | - | Application 접근 가능 정보 범위 - 항목 `openid` \| `offline_access` \| `email` \| `address` \| `phone` \| `profile` \| `groups` - openid: 계정 구분, 로그인 아이디, 회원 고유 식별자, 사용자 이름 - profile: 계정 구분, 로그인 아이디, 회원 고유 식별자, 사용자 이름 - email: 계정 구분, 로그인 아이디, 회원 고유 식별자, 사용자 이름, 이메일 - groups: 계정 구분, 로그인 아이디, 회원 고유 식별자, 사용자 이름, 그룹 - phone: 전화번호 - address: 주소 - offline_access: Refresh Token 발급 | | `accessTokenValiditySeconds` | Integer (int64) | - | Access Token 유효 기간(초) - <예시> 43200 | | `refreshTokenValiditySeconds` | Integer (int64) | - | Refresh Token 유효 기간(초) - <예시> 2592000 | | `consentPage` | Object<[ConsentPageV2](/docs/pub-single-sign-on-v2-application-updateapplication#ConsentPageV22)> | - | 개인 정보 제공 동의 페이지 정보 | | `protocol` | String | - | Application 프로토콜 - `OAUTH2` \| `OIDC` \| `SAML` - OAUTH2: OAuth 2.0 - OIDC: OpenID Connect - SAML: SAML 2.0 - <예시> OAUTH2 | #### ConsentPageV2 개인 정보 제공 동의 페이지 정보 | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `applicationName` | Map | - | 제공받는 자 정보 - 키 `ko` \| `ja` \| `en` | | `applicationName.<키>` | String | - | 해당 언어의 제공받는 자 - <예시> Ncloud Single Sign-On | | `useLanguages` | List | - | 사용 언어 목록 - 항목 `ko` \| `ja` \| `en` - ko: 한국어 - en: 영어 - ja: 일본어 | | `defaultLanguage` | String | - | 기본 언어 - `ko` \| `ja` \| `en` - ko: 한국어 - en: 영어 - ja: 일본어 - <예시> ko | | `usePurposeDescription` | Map | - | 이용 목적 정보 - 키 `ko` \| `ja` \| `en` | | `usePurposeDescription.<키>` | String | - | 해당 언어의 이용 목적 - <예시> 서비스 제공 및 계정 관리 | | `usePeriodDescription` | Map | - | 보유 및 이용 기간 정보 - 키 `ko` \| `ja` \| `en` | | `usePeriodDescription.<키>` | String | - | 해당 언어의 보유 및 이용 기간 - <예시> 회원 탈퇴 시까지 | | `dataTransferredAbroad` | Boolean | - | 개인정보 국외 이전 여부 - `true` \| `false` - true: 이전 - false: 이전 안 함 - <예시> true | | `dataTransferCountry` | Map | - | 이전되는 국가 정보 - 키 `ko` \| `ja` \| `en` | | `dataTransferCountry.<키>` | String | - | 해당 언어의 이전되는 국가 - <예시> 대한민국 | | `dataRecipients` | Map | - | 이전 받는 자 정보 - 키 `ko` \| `ja` \| `en` | | `dataRecipients.<키>` | String | - | 해당 언어의 이전 받는 법인 이름 - <예시> 네이버클라우드 주식회사 | | `dataRecipientsContact` | Map | - | 이전 받는 자의 연락처 정보 - 키 `ko` \| `ja` \| `en` | | `dataRecipientsContact.<키>` | String | - | 해당 언어의 이전 받는 법인의 개인정보 관리자 연락처 - <예시> privacy@example.com | ### 응답 상태 코드 Ncloud Single Sign-On API에서 공통으로 사용하는 응답 상태 코드에 대한 정보는 [Ncloud Single Sign-On 응답 상태 코드](/docs/pub-single-sign-on-v2-overview#%EC%9D%91%EB%8B%B5%EC%83%81%ED%83%9C%EC%BD%94%EB%93%9C)를 참조해 주십시오. 이 API에만 해당하는 응답 상태 코드는 다음과 같습니다. | HTTP 상태 코드 | 코드 | 메시지 | 설명 | | --- | --- | --- | --- | | 200 | - | - | 요청 처리 성공 | | 404 | NotFound | One or more of the resources in the request does not exist in the system. | 잘못된 URL 요청, 마스터 계정에 Organization이 존재하지 않음, 존재하지 않는 관리형 정책(System Managed) 아이디 입력, SSO User에 MFA Device가 존재하지 않음 | | 404 | ResourceNotFound | The specified resource could not be found. | 생성된 Tenant가 없음, 존재하지 않는 자원 아이디 입력 | | 404 | ApplicationNotFound | The specified application could not be found. | 존재하지 않는 Application 아이디 입력 | | 409 | AlreadyExists | The resource with the name requested already exists. | 이미 사용 중인 이름·Tenant 별칭·로그인 아이디 입력, 이미 생성된 External IdP 또는 이미 등록된 IdP 인증서 | ### 응답 예시 응답 예시는 다음과 같습니다. ``` { "applicationId": "6f708192-6666-4f01-9234-56789abcdef0", "name": "example-name", "description": "example description", "applicationUrl": "https://sso.example.com", "applicationType": "APP", "memberLoginPolicy": "ALLOW", "createdDateTime": "2025-01-02T09:00:00Z", "updatedDateTime": "2025-01-02T09:00:00Z", "clientId": "8d9e0f10-8888-4123-9456-789abcdef012", "clientAuthMethod": "client_secret_basic", "redirectUris": [ "https://example.com/callback" ], "postLogoutRedirectUris": [ "https://example.com/logout" ], "accessType": "public", "grantTypes": [ "authorization_code" ], "scopes": [ "openid" ], "accessTokenValiditySeconds": 43200, "refreshTokenValiditySeconds": 2592000, "consentPage": { "applicationName": { "ko": "Ncloud Single Sign-On" }, "useLanguages": [ "ko" ], "defaultLanguage": "ko", "usePurposeDescription": { "ko": "서비스 제공 및 계정 관리" }, "usePeriodDescription": { "ko": "회원 탈퇴 시까지" }, "dataTransferredAbroad": true, "dataTransferCountry": { "ko": "대한민국" }, "dataRecipients": { "ko": "네이버클라우드 주식회사" }, "dataRecipientsContact": { "ko": "privacy@example.com" } }, "protocol": "OAUTH2" } ```