The page has been translated by Gen AI.
Open API Guides
SingleID Open API Guides
To use the SCP SingleID Open API, the system must be registered as an Application first. The registered system information is used to issue a JWT Token, which must be included in the HTTP header when calling the SCP SingleID Open API.
API Calling Method
- Call with the token (JWT Token) value included in the HTTP header
- Set the access token header name to Authorization and the access token type value to Bearer - set the JWT Token value after the Bearer string.
- Environment information for testing
- domain :
- Internal: stg-scloud.iam.samsung.net
- External: stg2-cloud.singleid.samsung.net
- tenant-name : test-tenant
- domain :
- Test Swagger UI URL
API List
| Module | API | URI | Method | Description |
|---|---|---|---|---|
| Portal Common | Get MFA Token | https://{domain}/{tenant-name}/common-api/open/v1.1/asis/{tenant-name}/user/mfa/token/authentication | GET | Issue MFA Token |
| Portal Common | OTP Send | https://{domain}/{tenant-name}/common-api/open/v1.1/asis/otp/send | POST | Create OTP based on authentication type (email, SMS, message) |
| Portal Common | OTP Validation | https://{domain}/{tenant-name}/common-api/open/v1.1/asis/otp/validate | POST | Validate OTP |
| Portal Common | MFA Consumer Request | https://{domain}/{tenant-name}/common-api/open/v1.1/mfa/request | GET | Request MFA |
| Portal Common | MFA Consumer Request | https://{domain}/{tenant-name}/common-api/open/v1.1/mfa/request | POST | Request MFA |
| Tenant Admin Portal | Send Email about Anomaly Detection | https://{domain}/{tenant-name}/admin-api/open/v1.1/emails/anomalyDetection | POST | Send email to user when anomaly detection occurs |
| Tenant Admin Portal | Send Email about New Sign-in Environment | https://{domain}/{tenant-name}/admin-api/open/v1.1/emails/newSignInEnvironment | POST | Send confirmation email to user when signing in to a new environment |
| User Portal | Get User | https://{domain}/{tenant-name}/user-api/open/v1.1/users/{username} | GET | Retrieve user’s username, email, preferred language, and timezone |
| User Portal | Get User Profile Image | https://{domain}/{tenant-name}/user-api/open/v1.1/users/image/{username} | GET | Retrieve user’s profile image |
| User Portal | Create account assignment list | https://{domain}/{tenant-name}/user-api/1.0/scp-auth/create | POST | Create user’s SCP permission |
| User Portal | Delete account assignment list | https://{domain}/{tenant-name}/user-api/1.0/scp-auth/delete | POST | Delete user’s SCP permission |
| User Portal | Get account assignment list | https://{domain}/{tenant-name}/user-api/1.0/scp-auth/list | GET | Retrieve user’s SCP permission |
| User Portal | Search User | https://{domain}/{tenant-name}/user-api/1.0/scp-user/list | GET | Search for SCP target users |
| Portal Common | MFA Consumer Request | https://{domain}/{tenant-name}/common-api/open/v1.1/mfa/request/mfa | POST | Request MFA (including device) |
| Portal Common | MFA Consumer Verification | https://{domain}/{tenant-name}/common-api/open/v1.1/mfa/verification/mfa | POST | Verify MFA (including device) |
Table. API list
API Specification - Get MFA Token (Portal Common)
| Module | API | URI | Method | Description |
|---|---|---|---|---|
| Portal Common | Get MFA Token | https://{domain}/{tenant-name}/common-api/open/v1.1/asis/{tenant-name}/user/mfa/token/authentication | GET | Issue MFA Token |
Table. Get MFA Token (Portal Common)
Request Parameters
| Properties | Attribute | Mandatory | Parameter Type | Data Type | Sample Data | Note |
|---|---|---|---|---|---|---|
| Tenant Name | tenant-name | Y | Path | String | test-tenant | |
| User Name | userName | Y | query | String | mkdir.kim | |
| Protocol | protocol | Y | query | String | uma-uaf | |
| sessionDataKey | sessionDataKey | N | query | String | sessionDataKey1 | |
| redirectUrl | redirectUrl | N | query | String | redirectUrl1 | |
| errorRedirectUrl | errorRedirectUrl | N | query | String | errorRedirectUrl1 | |
| params | params | N | query | String | params1 | |
| language | language | N | query | String | ko |
Table. Request Parameters
Response Parameters
| Properties (Result) | Attribute | Data Type | Sample Data | Note |
|---|---|---|---|---|
| Result | result | String | SUCCESS | |
| Result Value | value | Object | {"token": "eyJpc3MiOiJodHRwczov...","serviceUri": "/ua/MPHTOCHW5I/de6f67d0-8bec-46ac-bf53-16ef00eb2066/dgauth/mfa"} |
Table. Response Parameters
Sample
| Request | Response |
|---|---|
curl -X POST "https://stg-scloud.singleid.samsung.net:443/stg4/user-api/1.0/scp-auth/delete" -H "accept: application/json"-H "apiKey: {apiKey}" INPUT JSON{ "instanceId": "instnace-01", "permissionSetId": "PERMISSION-SET-Ablxc5__qEaIYmWGyMeqlf", "principalId": "singleid.test001", "principalType": "USER", "targetId": "PROJECT-ka2tfhLHsweVwm4BrR1rae", "targetType": "PROJECT" } | { "instanceId": "instnace-01", "permissionSetId": "PERMISSION-SET-Ablxc5__qEaIYmWGyMeqlf", "principalId": "singleid.test001", "principalType": "USER", "targetId": "PROJECT-ka2tfhLHsweVwm4BrR1rae", "targetType": "PROJECT" "status": "SUCCESS", "createdDate": "2024-04-03T01:58:46.538Z", "failureReason": "" } |
Table. Sample
Error Code
| HTTP Response Code | Error Code | Error Message | Action Required |
|---|---|---|---|
| 400 | N/A | N/A | User name verification required |
Table. Error Code
API Specification - OTP Send(Portal Common)
| Module | API | URI | Method | Description |
|---|---|---|---|---|
| Portal Common | OTP Send | https://{domain}/{tenant-name}/common-api/open/v1.1/asis/otp/send | POST | Create OTP based on authentication type (email, sms, msg) |
Table. OTP Send(Portal Common)
Request Parameters
| Properties | Attribute | Mandatory | Parameter Type | Data Type | Sample Data | Note |
|---|---|---|---|---|---|---|
| locale | locale | Y | body | String | en | |
| authentication type | type | Y | body | String | email, sms, msg | |
| userName | userName | Y | body | String | gildong.hong |
Table. Request Parameters
Response Parameters
| Properties | Attribute | Data Type | Sample Data | Note |
|---|---|---|---|---|
| otpString | otpString | String | 0000000c5bb286c166530ac928d0bdf1f0894ed3a6d891eb3ab7ec89fc9faef7817b9f2f02f8c89ae91558cdc9afec94d6bede93a91d9825f4fe14dc2a282f6456d09f823d194570bc91b353830826e69d5f818172c12dbdb7b524 |
Table. Response Parameters
Sample
| Request | Response |
|---|---|
ccurl -X POST "https://localhost:7443/open/v1.1/asis/otp/send" -H "accept: */*" -H "Content-Type: application/json" -d "{\"locale\":\"ko\",\"type\":\"email\",\"userName\":\"gildong.hong\"}" | { "otpString": 0000000c5bb286c166530ac928d0bdf1f0894ed3a6d891eb3ab7ec89fc9faef7817b9f2f02f8c89ae91558cdc9afec94d6bede93a91d9825f4fe14dc2a282f6456d09f823d194570bc91b353830826e69d5f818172c12dbdb7b524} |
Table. Sample
Error Code
| Http Response Code | Error Code | Error Message | Measures |
|---|---|---|---|
| 404 | N/A | N/A | When the user does not exist |
| 429 | N/A | N/A | Duplicate calls within 60 seconds |
| 500 | N/A | N/A | Server error, check error message and contact administrator |
Table. Error Code
API Specification - OTP Validation(Portal Common)
| Module | API | URI | Method | Description |
|---|---|---|---|---|
| Portal Common | OTP Validation | https://{domain}/{tenant-name}/common-api/open/v1.1/asis/otp/validate | POST | Validates the OTP. |
Table. OTP Validation(Portal Common)
Request Parameter
| Properties | Attribute | Mandatory | Parameter Type | Data Type | Sample Data | Note |
|---|---|---|---|---|---|---|
| userName | userName | Y | Body | String | gildong.hong | |
| otp(6 digits) | otp | Y | Body | String | 121215 | |
| checkValue | checkValue | Y | Body | String | 0000000c5bb286c166530ac928d0bdf1f0894ed3a6d891eb3ab7ec89fc9faef7817b9f2f02f8c89ae91558cdc9afec94d6bede93a91d9825f4fe14dc2a282f6456d09f823d194570bc91b353830826e69d5f818172c12dbdb7b524 | sendOtp response otpString value |
| Authentication Type | type | Y | Body | String | email, sms, msg |
Table. Request Parameters
Response Parameter
| Properties | Attribute | Data Type | Sample Data | Note |
|---|---|---|---|---|
| Result | result | String | SUCCESS |
Table. Response Parameters
Sample
| Request | Response |
|---|---|
curl -X POST "https://localhost:7443/open/v1.1/asis/otp/validate" -H "accept: */*" -H "Content-Type: application/json" -d "{\"checkValue\":\"0000000c5bb286c166530ac928d0bdf1f0894ed3a6d891eb3ab7ec89fc9faef7817b9f2f02f8c89ae91558cdc9afec94d6bede93a91d9825f4fe14dc2a282f6456d09f823d194570bc91b353830826e69d5f818172c12dbdb7b524\",\"otp\":\"791462\",\"type\":\"email\",\"userName\":\"gildong.hong\"}" | { "result": "success" } |
Table. Sample
Error Code
| Http Response Code | Error Code | Error Message | Countermeasure |
|---|---|---|---|
| 400 | N/A | N/A | When OTP is entered incorrectly |
| 404 | N/A | N/A | When the user does not exist |
| 410 | N/A | N/A | When OTP has expired |
| 429 | N/A | N/A | When API call fails more than 10 times |
| 500 | N/A | N/A | Server error, check error message and contact administrator |
Table. Error Code
API Specification - MFA Consumer Request(Portal Common)
| Module | API | URI | Method | Description |
|---|---|---|---|---|
| Portal Common | MFA Consumer Request | https://{domain}/{tenant-name}/common-api/open/v1.1/mfa/request | GET | Requests MFA. |
Table. MFA Consumer Request(Portal Common)
Request Parameter
| Properties | Attribute | Mandatory | Parameter Type | Data Type | Sample Data | Note |
|---|---|---|---|---|---|---|
| JWT Token | jwtTokenRequest | Y | query | String | eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1aWQiOiJqaW5vbmUua2ltIiwiZGlzcGxheVVpZCI6Imppbm9uZS5raW1Ac2Ftc3VuZy5jb20iLCJlbWFpbCI6ImxUL3p4WngxNk81REo2SU91Z2VnRW9wVGk2eDh5bkxXY3NHLzRaWFE2TVlDSzNQV05oTS9hQUFnQmpkSEJMN1hkcFA2Y25jNCIsIm1vYmlsZSI6InlkVU54ZVl6YkNOY0xEYnFqN01rL2ZCdFcvaHZoRE1Bbm9lNzhRVTRvQTAzZUlwN2NsOVFpSGFoIiwicnRuIjoiaHR0cHM6Ly9zdGcxLWNsb3VkLnNpbmdsZWlkLnNhbXN1bmcubmV0L21vY2svcW1zL21mYS1jb25zdW1lci9yZXN1bHQiLCJyZXEiOiI3NjFlZmQ1Mi05N2QwLTQ1MWYtOWNmOS1jZjg2NzQwZTdjYTMiLCJzeXMiOiI4MDE0ODYyMS04MjZmLTQ5YmUtOGM5ZS0zMTE1ZTUzMDFlMWIiLCJuYmYiOjE3MTIwMjkxNDIsImV4cCI6MTcxNDYyMTE0MiwiaWF0IjoxNzEyMDI5MTQyfQ.-FWTK4IJsu8AonfJTTq7_OA1qAh-9FU89iC1JZcRg_c | Original token sample data{ "sys":"test-system", "req":"761efd52-97d0-451f-9cf9-cf86740e7ca3", "uid":"gildong.hong", "rtn":"https://test.com/mfa/response","email":"gildong.hong@samsung.com","mobile":"+82-1012345678", "nbf": 1698232068, "exp": 1698239268, "iat": 1698232068, "displayUid": "gildong.hong@samsung.com" } |
Table. Request Parameters
Response
MFA authentication page is redirected. By default, the response token is delivered in the post method, but if you want to deliver it in the get method (query), add the following parameters to the request token:
- returnMethod: get
Sample
| Request | Response |
|---|---|
curl -X GET "https://stg2-cloud.singleid.samsung.net/test-tenant/common-api/open/v1.1/mfa/request?jwtTokenRequest=eyJhbGciOiJIUzI1NiJ9.eyJzeXMiOiJ0ZXN0LXN5c3RlbSIsInJlcSI6Ijc2MWVmZDUyLTk3ZDAtNDUxZi05Y2Y5LWNmODY3NDBlN2NhMyIsInVpZCI6Imppbm9uZS5raW0iLCJydG4iOiJodHRwczovL3Rlc3QuY29tL21mYS9yZXNwb25zZSIsIm5iZiI6MTY5ODIzMjA2OCwiZXhwIjoxNjk4MjM5MjY4LCJpYXQiOjE2OTgyMzIwNjh9.cDgKMHIINaHhBiyAd_OIlVvQwmUs0QaXH_RfJ8B_KdY" | Page moved |
Table. Sample
Error Code
| Http Response Code | Error Code | Error Message | Measures |
|---|---|---|---|
| 400 | N/A | N/A | Check the token data. |
Table. Error Code
API Specification - MFA Consumer Request(Portal Common)
| Module | API | URI | Method | Description |
|---|---|---|---|---|
| Portal Common | MFA Consumer Request | https://{domain}/{tenant-name}/common-api/open/v1.1/mfa/request | POST | Requests MFA. |
Table. MFA Consumer Request(Portal Common)
Request Parameter
| Properties | Attribute | Mandatory | Parameter Type | Data Type | Sample Data | Note |
|---|---|---|---|---|---|---|
| JWT Token | jwtTokenRequest | Y | query | String | eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1aWQiOiJqaW5vbmUua2ltIiwiZGlzcGxheVVpZCI6Imppbm9uZS5raW1Ac2Ftc3VuZy5jb20iLCJlbWFpbCI6ImxUL3p4WngxNk81REo2SU91Z2VnRW9wVGk2eDh5bkxXY3NHLzRaWFE2TVlDSzNQV05oTS9hQUFnQmpkSEJMN1hkcFA2Y25jNCIsIm1vYmlsZSI6InlkVU54ZVl6YkNOY0xEYnFqN01rL2ZCdFcvaHZoRE1Bbm9lNzhRVTRvQTAzZUlwN2NsOVFpSGFoIiwicnRuIjoiaHR0cHM6Ly9zdGcxLWNsb3VkLnNpbmdsZWlkLnNhbXN1bmcubmV0L21vY2svcW1zL21mYS1jb25zdW1lci9yZXN1bHQiLCJyZXEiOiI3NjFlZmQ1Mi05N2QwLTQ1MWYtOWNmOS1jZjg2NzQwZTdjYTMiLCJzeXMiOiI4MDE0ODYyMS04MjZmLTQ5YmUtOGM5ZS0zMTE1ZTUzMDFlMWIiLCJuYmYiOjE3MTIwMjkxNDIsImV4cCI6MTcxNDYyMTE0MiwiaWF0IjoxNzEyMDI5MTQyfQ.-FWTK4IJsu8AonfJTTq7_OA1qAh-9FU89iC1JZcRg_c | Token original data sample{ "sys":"test-system", "req":"761efd52-97d0-451f-9cf9-cf86740e7ca3", "uid":"gildong.hong", "rtn":"https://test.com/mfa/response","email":"gildong.hong@samsung.com","mobile":"+82-1012345678", "nbf": 1698232068, "exp": 1698239268, "iat": 1698232068, "displayUid": "gildong.hong@samsung.com" } |
| MFA Consumer Home Redirect | registerFlag | Y | query | Boolean | true | Determines whether to move to MFA Consumer Home. If true, it moves to MFA Consumer Home. |
Table. Request Parameters
Response
- registerFlag = true: Redirects to MFA Consumer Home.
- registerFlag = false: Redirects to MFA authentication page.
Sample
| Request | Response |
|---|---|
curl -X POST "https://stg2-cloud.singleid.samsung.net/test-tenant/common-api/open/v1.1/mfa/request?jwtTokenRequest=eyJhbGciOiJIUzI1NiJ9.eyJzeXMiOiJ0ZXN0LXN5c3RlbSIsInJlcSI6Ijc2MWVmZDUyLTk3ZDAtNDUxZi05Y2Y5LWNmODY3NDBlN2NhMyIsInVpZCI6Imppbm9uZS5raW0iLCJydG4iOiJodHRwczovL3Rlc3QuY29tL21mYS9yZXNwb25zZSIsIm5iZiI6MTY5ODIzMjA2OCwiZXhwIjoxNjk4MjM5MjY4LCJpYXQiOjE2OTgyMzIwNjh9.cDgKMHIINaHhBiyAd_OIlVvQwmUs0QaXH_RfJ8B_KdY®isterFlag=true" | Page move |
Table. Sample
Error Code
| Http Response Code | Error Code | Error Message | Action Plan |
|---|---|---|---|
| 400 | N/A | N/A | Check token data. |
Table. Error Code
API Specification - Send Email about Anomaly Detection(Tenant Admin Portal)
| Module | API | URI | Method | Description |
|---|---|---|---|---|
| Tenant Admin Portal | Send Email about Anomaly Detection | https://{domain}/{tenant-name}/admin-api/open/v1.1/emails/anomalyDetection | POST | Sends an email when a user is detected for abnormal authentication behavior. |
Table. Send Email about Anomaly Detection(Tenant Admin Portal)
Request Parameter
| Properties | Attribute | Mandatory | Parameter Type | Data Type | Sample Data | Note |
|---|---|---|---|---|---|---|
| User IP | accessIP | Y | Body | String | 10.0.0.0 | |
| Detection Time | detectionTime | Y | Body | String | 2023-09-10 23:01:01 | |
| Y | Body | String | gildong.hong@samsung.com | |||
| User Environment | environment | Y | Body | String | PC / Window / Chrome | |
| Language | language | Y | Body | String | ko | |
| Network Environment | location | Y | Body | String | Internal | |
| Detection Rule Number | rule | Y | Body | String | P001 | |
| User Account | username | Y | Body | String | gildong.hong | |
| Authentication GUID | envGuid | Y | Body | String | d8b09752-405a-4d52-8605-bff9aa3f4741 |
Table. Request Parameters
Response Parameter
| Properties | Data Type | Sample Data | Note |
|---|---|---|---|
| 결과 | boolean | true | Email sent successfully when true / failed when false |
Table. Response Parameters
Sample
| Request | Response |
|---|---|
curl -X POST "https://stg1-cloud.singleid.samsung.net:443/test-tenant/admin-api/open/v1.1/emails/anomalyDetection" -H "accept: application/json" -H "Content-Type: application/json" -d "{\"accessIP\":\"10.0.0.0\",\"detectionTime\":\"2023-09-10 23:01:01\",\"email\":\"gildong.hong@samsung.com\",\"environment\":\"PC / Window / Chrome\",\"language\":\"ko\",\"location\":\"Internal\",\"rule\":\"P001\",\"username\":\"gildong.hong\",\"envGuid\":\"d8b09752-405a-4d52-8605-bff9aa3f4741\"}" | true |
Table. Sample
Error code
| Http Response Code | Error Code | Error Message | Measures |
|---|---|---|---|
| 400 | N/A | N/A | Bad Request |
| 403 | N/A | N/A | Forbidden |
| 500 | N/A | N/A | Internal Server Error |
Table. Error Code
API Specification - Send Email about New Sign-in Environment(Tenant Admin Portal)
| Module | API | URI | Method | Description |
|---|---|---|---|---|
| Tenant Admin Portal | Send Email about New Sign-in Environment | https://{domain}/{tenant-name}/admin-api/open/v1.1/emails/newSignInEnvironment | POST | Sends a notification email to the user when they sign in from a new environment and checks if the environment is registered. |
Table. Send Email about New Sign-in Environment (Tenant Admin Portal)
Request Parameter
| Properties | Attribute | Mandatory | Parameter Type | Data Type | Sample Data | Note |
|---|---|---|---|---|---|---|
| User IP | accessIP | Y | Body | String | 10.0.0.0 | |
| Registration Time | detectionTime | Y | Body | String | 2023-09-10 23:01:01 | |
| Y | Body | String | gildong.hong@samsung.com | |||
| User Environment | environment | Y | Body | String | PC / Window / Chrome | |
| Language | language | Y | Body | String | ko | |
| Network Environment (Internal/External) | location | Y | Body | String | Internal | |
| Detection Rule Number | rule | Y | Body | String | P001 | |
| User Account | username | Y | Body | String | gildong.hong | |
| Authentication Unique Value | envGuid | Y | Body | String | d8b09752-405a-4d52-8605-bff9aa3f4741 |
Table. Request Parameters
Response Parameter
| Properties | Data Type | Sample Data | Note |
|---|---|---|---|
| Result | boolean | true | true if the email is sent successfully, false otherwise |
Table. Response Parameters
Sample
| Request | Response |
|---|---|
curl -X POST "https://stg1-cloud.singleid.samsung.net:443/test-tenant/admin-api/open/v1.1/emails/anomalyDetection" -H "accept: application/json" -H "Content-Type: application/json" -d "{\"accessIP\":\"10.0.0.0\",\"detectionTime\":\"2023-09-10 23:01:01\",\"email\":\"gildong.hong@samsung.com\",\"environment\":\"PC / Window / Chrome\",\"language\":\"ko\",\"location\":\"Internal\",\"rule\":\"P001\",\"username\":\"gildong.hong\",\"envGuid\":\"d8b09752-405a-4d52-8605-bff9aa3f4741\"}" | true |
Table. Sample
Error Code
| Http Response Code | Error Code | Error Message | Measures |
|---|---|---|---|
| 400 | N/A | N/A | Bad Request |
| 403 | N/A | N/A | Forbidden |
| 500 | N/A | N/A | Internal Server Error |
Table. Error Code
API Specification - Get User(User Portal)
| Module | API | URI | Method | Description |
|---|---|---|---|---|
| User Portal | Get User | https://{domain}/{tenant-name}/user-api/open/v1.1/users/{username} | GET | Retrieves the user’s name, email, preferred language, and timezone data. |
Table. Get User(User Portal)
Request Parameter
| Properties | Attribute | Mandatory | Parameter Type | Data Type | Sample Data | Note |
|---|---|---|---|---|---|---|
| User ID | username | Y | Path | String | gildong.hong |
Table. Request Parameters
Response Parameter
| Properties | Attribute | Data Type | Sample Data | Note |
|---|---|---|---|---|
| User ID | username | String | gildong.hong | |
| String | gildong.hong@stage.samsung.com | |||
| Full Name | formattedName | String | 김동호 | |
| First Name | givenName | String | 동호 | |
| Last Name | familyName | String | 김 | |
| English Full Name | enFormattedName | String | Dongho Kim | |
| English First Name | enGivenName | String | Dongho | |
| English Last Name | enFamilyName | String | Kim | |
| Preferred Language | preferredLanguage | String | ko | 1) en : English 2) ko : Korean |
| Time Zone | timeZone | String | Asia/Seoul |
Table. Response Parameters
Sample
| Request | Response |
|---|---|
curl -X GET "https://stg2-cloud.singleid.samsung.net/test-tenant/user-api/open/v1.1/users/gildong.hong" -H "accept: application/json" -H "Authorization: Bearer {JWT_TOKEN}" | { "username": "gildong.hong", "email": "gildong.hong@stage.samsung.com", "formattedName": "김동호", "givenName": "동호", "familyName": "김", "enFormattedName": "Dongho Kim", "enGivenName": "Dongho", "enFamilyName": "Kim", "preferredLanguage": "ko", "timeZone": "Asia/Seoul" } |
Table. Sample
Error Code
| Http Response Code | Error Code | Error Message | Countermeasure |
|---|---|---|---|
| 401 | N/A | N/A | It is necessary to check if the JWT Token is valid. |
Table. Error Code
API Specification - Get User Profile Image(User Portal)
| Module | API | URI | Method | Description |
|---|---|---|---|---|
| User Portal | Get User Profile Image | https://{domain}/{tenant-name}/user-api/open/v1.1/users/image/{username} | GET | Retrieves the user’s profile image data. |
Table. Get User Profile Image(User Portal)
Request Parameter
| Properties | Attribute | Mandatory | Parameter Type | Data Type | Sample Data | Note |
|---|---|---|---|---|---|---|
| User ID | username | Y | Path | String | gildong.hong |
Table. Request Parameters
Response Parameter
| Properties | Attribute | Data Type | Sample Data | Note |
|---|---|---|---|---|
| username | username | String | null |
Table. Response Parameters
Sample
| Request | Response |
|---|---|
curl -X GET "https://stg2-cloud.singleid.samsung.net:443/test-tenant/user-api/open/v1.1/users/image/gildong.hong" -H "accept: application/json" -H "Authorization: Bearer {JWT_TOKEN}" | File data { "username": null, "image": "" } File URL { "username": "gildong.hong", "image": "" } |
Table. Sample
Error Code
| Http Response Code | Error Code | Error Message | Measures |
|---|---|---|---|
| 401 | N/A | N/A | Check if the JWT Token is valid. |
Table. Error Code
API Specification - Create account assignment list(User Portal)
| Module | API | URI | Method | Description |
|---|---|---|---|---|
| User Portal | Create account assignment list | https://{domain}/{tenant-name}/user-api/1.0/scp-auth/create | POST | Creates SCP permissions for the user. |
Table. Create account assignment list (User Portal)
Request Parameter
| Properties | Attribute | Mandatory | Parameter Type | Data Type | Sample Data | Note |
|---|---|---|---|---|---|---|
| instance id | instanceId | Y | JSON | String | Provided by SCP | |
| permission set id | permissionSetId | Y | JSON | String | “PERMISSION-SET-Ablxc5__qEaIYmWGyMeqlf” | Provided by SCP |
| principal id | principalId | Y | JSON | String | “gildong.hong” | User’s username |
| principal type | principalType | Y | JSON | String | “USER” | Currently only USER is available |
| target id | targetId | Y | JSON | String | “PROJECT-ka2tfhLHsweVwm4BrR1rae” | PROJECT ID, provided by SCP |
| target type | targetType | Y | JSON | String | “PROJECT” | Currently only PROJECT is available |
Table. Request Parameters
Response Parameter
| Properties | Attribute | Data Type | Sample Data | Note |
|---|---|---|---|---|
| instance id | instanceId | JSON | Returned saved value | |
| permission set id | permissionSetId | JSON | “PERMISSION-SET-Ablxc5__qEaIYmWGyMeqlf” | Returned saved value |
| principal id | principalId | JSON | “gildong.hong” | Returned saved value |
| principal type | principalType | JSON | “USER” | Returned saved value |
| target id | targetId | JSON | “PROJECT-ka2tfhLHsweVwm4BrR1rae” | Returned saved value |
| target type | targetType | JSON | “PROJECT” | Returned saved value |
| status | status | JSON | “SUCCESS” | Success or failure |
| failure reason | failureReason | JSON | Reason for failure | |
| created date | createdDate | JSON | creation time |
Table. Response Parameters
Sample
| Request | Response |
|---|---|
curl -X POST "https://stg-scloud.singleid.samsung.net:443/stg4/user-api/1.0/scp-auth/create" -H "accept: application/json"-H "apiKey: {apiKey}" INPUT JSON{ "instanceId": "instnace-01", "permissionSetId": "PERMISSION-SET-Ablxc5__qEaIYmWGyMeqlf", "principalId": "singleid.test001", "principalType": "USER", "targetId": "PROJECT-ka2tfhLHsweVwm4BrR1rae", "targetType": "PROJECT" } | { "instanceId": "instnace-01", "permissionSetId": "PERMISSION-SET-Ablxc5__qEaIYmWGyMeqlf", "principalId": "singleid.test001", "principalType": "USER", "targetId": "PROJECT-ka2tfhLHsweVwm4BrR1rae", "targetType": "PROJECT" "status": "SUCCESS", "createdDate": "2024-04-03T01:58:46.538Z", "failureReason": "" } |
Table. Sample
API Specification - Delete account assignment list(User Portal)
| Module | API | URI | Method | Description |
|---|---|---|---|---|
| User Portal | Delete account assignment list | https://{domain}/{tenant-name}/user-api/1.0/scp-auth/create](https://{domain}/{tenant-name}/user-api/1.0/scp-auth/delete | POST | Deletes the SCP authority for the user. |
Table. Delete account assignment list(User Portal)
Request Parameter
| Properties | Attribute | Mandatory | Parameter Type | Data Type | Sample Data | Note |
|---|---|---|---|---|---|---|
| instance id | instanceId | Y | JSON | String | Provided by SCP | |
| permission set id | permissionSetId | Y | JSON | String | “PERMISSION-SET-Ablxc5__qEaIYmWGyMeqlf” | Provided by SCP |
| principal id | principalId | Y | JSON | String | “gildong.hong” | User’s username |
| principal type | principalType | Y | JSON | String | “USER” | Currently only USER is available |
| target id | targetId | Y | JSON | String | “PROJECT-ka2tfhLHsweVwm4BrR1rae” | Project ID, provided by SCP |
| target type | targetType | Y | JSON | String | “PROJECT” | Currently only PROJECT is functional |
Table. Request Parameters
Response Parameter
| Properties | Attribute | Data Type | Sample Data | Note |
|---|---|---|---|---|
| instance id | instanceId | JSON | Deleted value returned | |
| permission set id | permissionSetId | JSON | “PERMISSION-SET-Ablxc5__qEaIYmWGyMeqlf” | Deleted value returned |
| principal id | principalId | JSON | “gildong.hong” | Deleted value returned |
| principal type | principalType | JSON | “USER” | Deleted value returned |
| target id | targetId | JSON | “PROJECT-ka2tfhLHsweVwm4BrR1rae” | Deleted value returned |
| target type | targetType | JSON | “PROJECT” | Deleted value returned |
| status | status | JSON | “SUCCESS” | Success or failure |
| failure reason | failureReason | JSON | Failure reason | |
| created date | createdDate | JSON | Deletion date |
Table. Response Parameters
Sample
| Request | Response |
|---|---|
curl -X GET "https://stg1-cloud.singleid.samsung.net/test-tenant/common-api/open/v1.1/asis/test-tenant/user/mfa/token/authentication?userName=mkdir.kim&protocol=uma-uaf&sessionDataKey=sessionDataKey111&redirectUrl=redirectUrl1111&errorRedirectUrl=errorRedirectUrl1111¶ms=params111&language=en" | { "result": "SUCCESS", "value": { "token": "eyJpc3MiOiJodHRwczovL3N0ZzItY2xvdWQuaWFtLnNhbXN1bmcubmV0Iiwic3ViIjoibWtkaXIua2ltIiwiYXVkIjoiaHR0cHM6Ly9zdGcyLWNsb3VkLmlhbS5zYW1zdW5nLm5ldCIsImV4cCI6MTY5ODEyOTM2OSwiaWF0IjoxNjk4MTI5MTg5LCJqdGkiOiJkNWZmZGE5Ny1mMzZkLTRjZDktYWJmZi1mMzY4ZTkxYWVkNTUiLCJhbXIiOltdLCJ6b25laW5mbyI6IkFzaWEvU2VvdWwiLCJsb2NhbGUiOiJlbl9VUyIsInByb3RvY29sIjoidW1hLXVhZiIsInJlZGlyZWN0X3VybCI6InJlZGlyZWN0VXJsMSIsImVycm9yX3JlZGlyZWN0X3VybCI6ImVycm9yUmVkaXJlY3RVcmwxIiwicGFyYW1zIjoicGFyYW1zMSIsInVzZXJJZCI6Im1rZGlyLmtpbSJ9:MEUCIHqWV_UcgKHsMlDI7Ks31fw1QPpCYnKorMpnr2L653LwAiEAz30ShMmACEi6H-IuF1YMV2bKT1WIFmAdJ6OCsmEzscA", "serviceUri": "/ua/MPHTOCHW5I/de6f67d0-8bec-46ac-bf53-16ef00eb2066/dgauth/mfa", "appId": null }, "message": "succeeded to get nexsign token.", "statusCode": null, "statusCodeValue": "0", "data": null} |
Table. Sample
Error Code
| Http Response Code | Error Code | Error Message | Measures |
|---|---|---|---|
| 400 | N/A | N/A | You must check the userName. |
Table. Error Code
API Specification - Get account assignment list(User Portal)
| Module | API | URI | Method | Description |
|---|---|---|---|---|
| User Portal | Get account assignment list | https://{domain}/{tenant-name}/user-api/1.0/scp-auth/list | POST | Retrieves the SCP authority for the user. |
Table. Get account assignment list(User Portal)
Request Parameter
| No. | Properties | Attribute | Mandatory | Parameter Type | Data Type | Sample Data | Note |
|---|---|---|---|---|---|---|---|
| 1 | principal type | principalType | Y | query | String | “USER” | Currently only USER is available |
| 2 | principal id | principalId | Y | query | String | “gildong.hong” | The username of the user to be queried |
Table. Request Parameters
Response Parameter
| Properties | Attribute | Data Type | Sample Data | Note |
|---|---|---|---|---|
| instance id | instanceId | JSON | ||
| permission set id | permissionSetId | JSON | “PERMISSION-SET-Ablxc5__qEaIYmWGyMeqlf” | |
| principal id | principalId | JSON | “gildong.hong” | |
| principal type | principalType | JSON | “USER” | |
| target id | targetId | JSON | “PROJECT-ka2tfhLHsweVwm4BrR1rae” | |
| target type | targetType | JSON | “PROJECT” |
Table. Response Parameters
Sample
| Request | Response |
|---|---|
curl -X GET "https://stg-scloud.singleid.samsung.net:443/stg4/user-api/1.0/scp-auth/list?principalType=USER&principalId=singleid.test001" -H "accept: application/json" -H "apiKey: {apiKey}" | [ { "instanceId": "instnace-01", "permissionSetId": "PERMISSION-SET-Ablxc5__qEaIYmWGyMeqlf", "principalId": "singleid.test001", "principalType": "USER", "targetId": "PROJECT-ka2tfhLHsweVwm4BrR1rae", "targetType": "PROJECT" }, { "instanceId": "instnace-01", "permissionSetId": "PERMISSION-SET-Ablxc5__qEaIYmWGyMe121", "principalId": "singleid.test001", "principalType": "USER", "targetId": "PROJECT-ka2tfhLHsweVwm4BrR1rae", "targetType": "PROJECT" } ] |
Table. Sample
Error Code
| Http Response Code | Error Code | Error Message | Measures |
|---|---|---|---|
| 401 | N/A | N/A | The API key needs to be verified for validity. |
Table. Error Code
API Specification - Search User(User Portal)
| Module | API | URI | Method | Description |
|---|---|---|---|---|
| User Portal | Search User | https://{domain}/{tenant-name}/user-api/1.0/scp-user/list | POST | Searches for target users in SCP. |
Table. Search User(User Portal)
Request Parameter
| Properties | Attribute | Mandatory | Parameter Type | Data Type | Sample Data | Note |
|---|---|---|---|---|---|---|
| page | page | N | query | Integer | 0 | Page to retrieve |
| size | size | N | query | Integer | 10 | Page size |
| username | username | N | query | String | “gildong.hong” | User ID to search |
| group name | groupName | N | query | String | “ADGroup” | Group to search |
| create Date(from) | creationDateGe | N | query | DateTime | “2024-04-03T07:49:23.845Z” | |
| create Date(to) | creationDateLe | N | query | DateTime | “2024-04-03T07:49:23.845Z” | |
| last change date(from) | lastChangeDateGe | N | query | DateTime | “2024-04-03T07:49:23.845Z” | |
| last change date(to) | lastChangeDateLe | N | query | DateTime | “2024-04-03T07:49:23.845Z” |
Table. Request Parameters
Response Parameter
| Properties | Attribute | Data Type | Sample Data | Note |
|---|---|---|---|---|
| key | key | String | “01890501-74fa-7785-91e0-67bd71217a2e” | |
| username | username | String | “gildong.hong” | |
| administrator | administrator | Boolean | false | |
| formatted name | formattedName | String | “Gildong Hong” | |
| formatted Name(en) | enFormattedName | String | “gildong hong” | |
| String | “gildong.hong@samsung.com” | |||
| mobile | mobile | String | “+02-01011112222” | |
| preferred language | preferredLanguage | String | “en” | |
| time zone | timeZone | String | “Asia/Seoul” | |
| managed by | managedBy | String | “SINGLEID” | |
| creator | creator | String | “admin001” | |
| creation date | creationDate | DateTime | “2024-04-03T07:49:23.845Z” | |
| last modifier | lastModifier | String | “admin001” | |
| last change date | lastChangeDate | DateTime | “2024-04-03T07:49:23.845Z” |
Table. Response Parameters
Sample
| Request | Response |
|---|---|
curl -X POST "https://stg-scloud.singleid.samsung.net:443/stg4/user-api/1.0/scp-user/list" -H "accept: application/json" -H "apiKey: {apiKey}" | [ { "key": "01890501-74fa-7785-91e0-67bd71217a2e", "administrator": false, "username": "gildong.hong", "enFormattedName": "gildong hong", "formattedName": "Gildong Hong", "email": "gildong.hong@samsung.com", "mobile": "+02-01011112222", "preferredLanguage": "en", "timeZone": "Asia/Seoul", "managedBy": "SINGLEID", "creator": "admin001", "creationDate": "2024-04-03T07:49:23.845Z", "lastModifier": "admin001", "lastChangeDate": "2024-04-03T07:49:23.845Z" }, { "key": "01890501-74fa-7785-91e0-67bd71217a2e", "administrator": false, "username": "gildong.hong", "enFormattedName": "gildong hong", "formattedName": "Gildong Hong", "email": "gildong.hong@samsung.com", "mobile": "+02-01011112222", "preferredLanguage": "en", "timeZone": "Asia/Seoul", "managedBy": "SINGLEID", "creator": "admin001", "creationDate": "2024-04-03T07:49:23.845Z", "lastModifier": "admin001", "lastChangeDate": "2024-04-03T07:49:23.845Z" } ] |
Table. Sample
Error Code
| Http Response Code | Error Code | Error Message | Measures |
|---|---|---|---|
| 401 | N/A | N/A | Check if the API key is valid. |
Table. Error Code
API Specification - MFA Consumer Request(Portal Common)
| Module | API | URI | Method | Description |
|---|---|---|---|---|
| Portal Common | MFA Consumer Request | https://{domain}/{tenant-name}/common-api/open/v1.1/mfa/request/mfa | POST | Requests MFA. |
Table. MFA Consumer Request(Portal Common)
Request Parameter
| No. | Properties | Attribute | Mandatory | Parameter Type | Data Type | Sample Data | Note |
|---|---|---|---|---|---|---|---|
| 1 | username | username | Y | Body | String | mkdir.kim | |
| 2 | authentication type | type | N | Body | String | email, sms, msg, uaApp, uaMOTP, one of them. If not specified, it follows the default setting or user’s preferred method. | |
| 3 | serviceProviderId | serviceProviderId | Y | Body | String | d8b09752-405a-4d52-8605-bff9aa3f4741 | UUID. Device ID assigned after registration in SingleID Admin Portal. |
Table. Request Parameters
Response Parameter
| Properties | Attribute | Data Type | Sample Data | Note |
|---|---|---|---|---|
| requestId | requestId | String | 01890501-74fa-7785-91e0-67bd71217a2e | UUID. Used as a request parameter for MFA verification. |
| authentication type | type | String | sms | email, sms, msg, uaApp, uaMOTP, one of them. Verification logic may vary depending on the MFA type. |
| otp | otp | String | 123456 | 6-digit or 8-digit number. Issued only when the type is uaMOTP (6-digit) or uaApp (8-digit). |
Table. Response Parameters
Sample
| Request | Response |
|---|---|
curl -X POST "https://stg1-cloud.singleid.samsung.net:443/test/common-api/open/v1.1/mfa/request/mfa" -H "accept: application/json" -H "Content-Type: application/json" -d "{\"username\":\"mkdir.kim\",\"type\":\"sms\",\"serviceProviderId\":\"dceef541-1f22-479d-96ac-c402ab0789e9\"} | { "otp": "123456", "requestId": "d8b09752-405a-4d52-8605-bff9aa3f4741", "serviceProviderId": "", "type": "sms", "username": "" } |
Table. Sample
Error Codes and Responses
| Http Response Code | Error Code | Error Message | Action Plan |
|---|---|---|---|
| 400 | N/A | common.error.requiredValue | The required value is missing. Please check. |
| 400 | N/A | user.error.notFound | The user was not found. Please check the user ID |
| 400 | N/A | serviceProvider.error.notFound | The service provider was not found. Please contact the administrator |
| 400 | N/A | authenticator.error.notFound | The authentication method was not found. Please contact the administrator |
| 400 | N/A | common.error.disallowedValue | The type is incorrect. Please contact the administrator |
| 400 | N/A | user.error.locked + remain | The account is locked. Please try again after {remain} minutes. |
| 400 | N/A | otp.error.tooManyAttempts | Move to the security warning screen (the account is locked due to multiple authentication failures) |
Table. Error Code
API Specification - MFA Consumer Verification(Portal Common)
| Module | API | URI | Method | Description |
|---|---|---|---|---|
| Portal Common | MFA Consumer Verification | https://{domain}/{tenant-name}/common-api/open/v1.1/mfa/verification/mfa | POST | Verifies the MFA. |
Table. MFA Consumer Verification(Portal Common)
Request Parameter
| Properties | Attribute | Mandatory | Parameter Type | Data Type | Sample Data | Note |
|---|---|---|---|---|---|---|
| requestId | requestId | Y | Body | String | d8b09752-405a-4d52-8605-bff9aa3f4741 | UUID |
| otp | otp | N | Body | String | 123456 | 6-digit number/Not required for uaApp, uaMOTP |
Table. Request Parameters
Response Parameter
| Http Status Code | Status |
|---|---|
| 200 | Authentication completed |
| 202 | Authentication pending (only occurs when type is uaMOTP, uaApp. Periodic polling is required until the result is confirmed with a 200 status code) |
| Others | Error |
Table. Response Parameters
Sample
| Request | Response |
|---|---|
curl -X POST "https://stg1-cloud.singleid.samsung.net:443/test/common-api/open/v1.1/mfa/verification/mfa" -H "accept: application/json" -H "Content-Type: application/json" -d "{\"otp\":\"000000\",\"requestId\":\"095db652-877f-42e5-b87f-e404fb07048b\"}" | { “statusCode”: “ACCEPTED”, } |
Table. Sample
Error Codes
| Http Response Code | Error Code | Error Message | Measures to Take |
|---|---|---|---|
| 400 | N/A | common.error.requiredValue | The required value is missing. Please check. |
| 400 | N/A | common.error.invalidRequest | The request is not found. Please contact the administrator. |
| 400 | N/A | request.error.invalidStatus | The request status is incorrect. Please contact the administrator. |
| 400 | N/A | otp.error.notMatch | The OTP is incorrect. Please check the OTP. |
| 400 | N/A | otp.error.tooManyAttempts | Move to the security warning screen (the account is locked due to multiple authentication failures) |
Table. Error Code